大家好,又见面了,我是你们的朋友全栈君。
高德地图标记点要注意的问题
当打开高德地图的时候,使用API进行获取自身位置坐标,然后再进行setCenter设置中心是这样的。
initMap () {
// 初始化地图
map = new AMap.Map('map-gaode', {
resizeEnable: true,
zoom:13
})
// 初始化中心点
// 1、无坐标 有详细地址时
let sure = this.initAddress()
if(sure){
this.clickSearch()
// 2、无详细地址
}else{
var nowPoint = map.getCenter()
if(this.mapCenter){
console.log(this.mapCenter,nowPoint)
nowPoint = this.mapCenter
}
this.setCenter(nowPoint) //这里这里 打印
this.setAddress(nowPoint)
}
// 地图侧边栏
AMap.plugin('AMap.ToolBar',function(){
//加载工具条
var toolbar = new AMap.ToolBar({
position:'LB'
});
map.addControl(toolbar)
})
// 绑定点击事件
let that = this
var clickListener = AMap.event.addListener(map, "click", function(e) {
var {
lng, lat} = e.lnglat
// 设置中心点
that.setCenter(e.lnglat)
//根据经纬度地址
that.setAddress(e.lnglat)
})
}
setCenter(location){
map.setCenter([location.lng, location.lat])
map.clearMap()
new AMap.Marker({
position: location,
map: map
})
}
setCenter(location){
map.setCenter([location.lng, location.lat])
map.clearMap()
new AMap.Marker({
position: new AMap.LngLat(location.lng, location.lat), //标记点用这个方法比较好 不然缺少像素位置值
map: map
})
}
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143607.html原文链接:https://javaforall.cn