使用高德地图的实现定位功能,如何解决定位标志与地图展示的地点icon不重合的情况?
let point_center = [117.120128, 36.652069]
function init_map(center, zoom) {
map = new AMap.Map(goodsMap, {
zoom: zoom, // 缩放级别
center: center // 地图中心点的经纬度
});
// 创建一个标记点
let marker = new AMap.Marker({
position: center, // 标记点的经纬度
map: map // 所属的地图对象
});
// 设置地图显示范围使标记点可见
map.setFitView();
}
init_map(point_center, 10)
$.ajax({
type: 'POST',
url: 'https://restapi.amap.com/v3/geocode/geo?parameters',
data: {
key: 'b7d627dd31d972643385d4cae3d1a48a',
address: bank_location
},
success: function (res) {
if (res.info == 'OK' && res.status == '1') {
let city_info = res.geocodes[0]
let center = city_info.location.split(',')
init_map(center, 18)
} else {
layer.msg("定位失败,请重新输入物资储备库地点");
return;
}
}
});
缩小zoom可以解决这个问题,但如果就是最大级别如何解决?
回复
1个回答
test
2024-06-26
去高德试下了 你的坐标误差太大了
新补充你请求写的有点问题啊
它是get请求以及参数拼写有误
你url后面的‘?parameters’删掉
https://restapi.amap.com/v3/geocode/geo?key=b7d627dd31d972643...山东省济南市经八路小学最后返回是
{
"status": "1",
"info": "OK",
"infocode": "10000",
"count": "1",
"geocodes": [{
"formatted_address": "山东省济南市市中区经八路小学",
"country": "中国",
"province": "山东省",
"citycode": "0531",
"city": "济南市",
"district": "市中区",
"township": [],
"neighborhood": {
"name": [],
"type": []
},
"building": {
"name": [],
"type": []
},
"adcode": "370103",
"street": [],
"number": [],
"location": "116.988613,36.650877",
"level": "兴趣点"
}]
}
这个经纬度就没问题了
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容