地图中心点的设置/获取
地图初始化时设置默认中心点:
通过详细文档可见参考手册MapOptions
示例中,设置了一个固定坐标作为初始化地图的显示位置,而一般实际应用中,会首先对用户进行定位,并默认显示其所在城市的地图,提升体验,在PC端可以通过WebServiceAPI的IP定位服务,在移动端通过H5定位组件,首先实现用户定位,再用定位坐标初始化地图显示。
查看示例
修改地图中心点:
通过调用setCenter方法可对地图中心点进行修改,示例中演示最基本用法,实际场景中可用于城市快速切换,也可为用户提供城市列表供选择(城市列表可通过WebServiceAPI行政区划服务,获取城市数据,然后根据您的实际交互需求进行开发)
查看示例
获取地图中心点:
通过调用getCenter方法可获取地图中心点坐标,示例如下:
查看示例
在社交发送位置或地图选点应用中,一般会在地图中心点放置一个图标,示意要选取的位置,当地图被用户拖动后,通过getCenter方法取得中心点坐标,并调用逆地址解析服务获取周边地点,便于用户点选,当在用户确认后,同样调用getCenter获取中心点坐标,完成位置选择。
应用场景示意:
点击拾取坐标(地图事件)
事件绑定:
地图实例被创建后,通过on(eventName:String, listener:Function)添加各类交互事件,参数eventName为事件名称,listener为事件的处理方法。
以下示例,演示了点击地图后,获取点击位置坐标并在console输出。事件处理方法会收到MapEvent对象规范,其中会包含触发事件的坐标位置、事件的目标对象等关键信息,供事件处理方法使用。
腾讯位置服务所提供的坐标拾取器(点击拾取坐标的交互效果),就是基于点击事件实现的
查看示例
解除事件绑定:
通过off(eventName:String, listener:Function)可对已绑定事件进行解绑,参数eventName为要解绑事件名称,listener为要解绑的事件处理方法。
注意:所绑定的事件处理方法不能是匿名方法,否则无法解绑
地图显示范围的设置/获取
LatLngBounds对象,描述一个矩形的地理坐标范围,它由矩形西南角(左下) 和 东北角(右上)坐标构成
通过fitBounds(bounds:LatLngBounds, padding:Number)方法进行设置,它可让地图自动调整视野(center和zoom),把整个LatLngBounds完整显示在地图可视范围内。
这个方法应用场景十分广泛,如:
1. 进行周边搜索,将结果全部标记(Marker)在地图中,地图显示范围要正好将所有标记都合适的显示出来
2. 通过起终点进行路线规划,将路线点串通过折线(Polyline敬请期待...)绘制到地图中,地图显示范围要正好将整条路线完整呈现出来
3. 地图的拉框放大效果
计算LatLngBounds并设置显示范围
当您有一组坐标点,一条轨迹或路线点串,调用fitBounds前要计算其LatLngBounds范围:
LatLngBounds.extend(latlng:LatLng)实现,示例: