iOS 百度地图开发 怎么监听地图被拖动事件,然后怎么处理。

iOS 百度地图开发 怎么监听地图被拖动事件,然后怎么处理。,第1张

百度地图有代理。

/**

*地图渲染每一帧画面过程中,以及每次需要重绘地图时(例如添加覆盖物)都会调用此接口

*@param mapview 地图View

*@param status 此时地图的状态

*/

- (void)mapView:(BMKMapView *)mapView onDrawMapFrame:(BMKMapStatus*)status

/**

*地图区域即将改变时会调用此接口

*@param mapview 地图View

*@param animated 是否动画

*/

- (void)mapView:(BMKMapView *)mapView regionWillChangeAnimated:(BOOL)animated

/**

*地图区域改变完成后会调用此接口

*@param mapview 地图View

*@param animated 是否动画

*/

- (void)mapView:(BMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated

具体的处理看你的需求来定。你可以测试下。

你这个panel和标注marker是自己定义的吗?如果是直接调用的百度的接口是不能添加事件的 除非自己定义的

如下:

localSearch.setSearchCompleteCallback(function (searchResult) {

var poi = searchResult.getPoi(0)

var marker = new BMap.Marker("南京市",13)

map.addOverlay(marker)

//自定义标注内容

var content = document.getElementById("text_").value + "<br/><br/>名称:" + poi.title + "<br/>地址:" + poi.Address

var infoWindow = new BMap.InfoWindow("<p style='font-size:14px'>" + content + "</p>")

marker.addEventListener("click", function () { this.openInfoWindow(infoWindow)})

})

    map.addEventListener("moveend",function(){

        if(new_marker){

            new_marker.setPosition(map.getCenter())

        }

    })

    map.addEventListener("zoomend",function(){

        if(new_marker){

            new_marker.setPosition(map.getCenter())

        }

    })

在这2个地图事件中重新指定图标的位置为地图中心


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/420043.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-25
下一篇2023-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存