行政区获取有问题
我这里是广东省深圳市宝安区 但是console的结果是广东省深圳是福田区?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script type="text/javascript"
src="https://webapi.amap.com/maps?v=1.4.15&key=4f1afc56291f03238d68e6ad475ec0b1"></script>
<style>
* {
margin: 0;
padding: 0;
}
#container {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
}
.setZoomNode{
width: 200px;
height: 100px;
position: absolute;
right: 20px;
top: 20px;
z-index: 999;
border: 1px solid black;
box-shadow: 0 0 5px black;
background: white;
}
.setCenterNode{
width: 200px;
height: 100px;
position: absolute;
right: 20px;
top: 120px;
z-index: 999;
border: 1px solid black;
box-shadow: 0 0 5px black;
background: white;
}
.setZoomAndSetCenterNode{
width: 200px;
height: 200px;
position: absolute;
z-index: 999;
border: 1px solid black;
box-shadow: 0 0 5px black;
background: white;
right: 20px;
top: 350px;
}
</style>
</head>
<body>
<div id="container"></div>
<div class="setZoomNode">
<input type="text" name="" id="zoomval">
<button id="btn">确定</button>
</div>
<div class="setCenterNode">
<input type="text" name="" id="xNode">
<input type="text" name="" id="yNode">
<button id="cbtn">确定</button>
</div>
<div class="setZoomAndSetCenterNode">
<input type="text" name="" id="czoomval">
<input type="text" name="" id="cxNode">
<input type="text" name="" id="cyNode">
<button id="zcbtn">确定</button>
</div>
<script>
var map = new AMap.Map("container", {
// 初始级别
//zoom: 11,
//初始化center
// center: [121, 30]
});
// 移动结束时触发
// map.on("moveend", function () {
// console.log(map.getZoom());
// console.log(map.getCenter());
// })
//级别改变时触发
// map.on("zoomend",function(){
// console.log(map.getZoom());
// console.log(map.getCenter());
// })
//设置地图级别
// setTimeout(function(){
// map.setZoom(15);
// },5000)
//通过事件设置级别
// btn.onclick=function(){
// map.setZoom(zoomval.value);
// }
//设置地图中心点
// setTimeout(function(){
// map.setCenter([100,30]);
// },5000);
//通过事件设置中心点
// cbtn.onclick=function(){
// map.setCenter([xNode.value,yNode.value]);
// }
// //设置级别设置中心点
// setTimeout(function(){
// map.setZoomAndCenter(12,[121,30]);
// },5000)
//设置级别设置中心点
// zcbtn.onclick=function(){
// map.setZoomAndCenter(czoomval.value,[cxNode.value,cyNode.value]);
// };
//获取行政区
var setZoomNode=document.querySelector(".setZoomNode");
map.getCity(function(info){
// setZoomNode.innerHTML=info.province+info.district;
console.log(info);
})
</script>
</body>
</html>
正在回答 回答被采纳积分+1
同学你好,老师直接粘贴的代码,忽略了上传的截图,所以导致第一次没有解决问题,非常抱歉。
地图定位的是当前市的市中心区域,例如老师这边是北京市的东城区,同学那边是深圳市的福田区。如果想要准确,需要添加精准定位,然后重新设置地图的中心区域,再获取城市,参考:
<script> var map = new AMap.Map("container", { // 初始级别 //zoom: 11, //初始化center // center: [121, 30] }); AMap.plugin('AMap.Geolocation', function() { var geolocation = new AMap.Geolocation({ enableHighAccuracy: true, //是否使用高精度定位,默认:true timeout: 10000, //超过10秒后停止定位,默认:5s buttonPosition: 'RB', //定位按钮的停靠位置 buttonOffset: new AMap.Pixel(10, 20), //定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20) zoomToAccuracy: true, //定位成功后是否自动调整地图视野到定位点 }); map.addControl(geolocation); geolocation.getCurrentPosition(function(status, result) { if (status == 'complete') { onComplete(result) } else { onError(result) } }); }); //解析定位结果 function onComplete(data) { map.setCenter([data.position.R, data.position.Q]) setTimeout(function() { map.getCity(function(info) { console.log(info); }) }, 1000) } </script>
同学可以测试下,祝学习愉快!
- 参与学习 人
- 提交作业 622 份
- 解答问题 6815 个
微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星