[JavaScript API] 百度地图marker在手机web中不能改变

guorui46386 2018-02-07 02:54:14
我做的是手机web,获取当前定位然后改变marker,然而经纬度如果写死,在手机地图上能改变,如果用百度api浏览器定位在手机上获取到经纬度,然后marker始终是初始位置,不会刷新,代码如下
var map = newBMap.Map("allmap"); // 创建Map实例
function _po(flag){
var geolocation = newBMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus()== BMAP_STATUS_SUCCESS){
varplat=r.point.lat;
varplng=r.point.lng;
/**if(flag==1){
//测试数据
//plng= "116.18376920986";
//plat="34.269334509641";
}*/
map_init(plat,plng,flag);
}
else{
alert('failed'+this.getStatus());
}
},{enableHighAccuracy:true})
}
functionmap_init(plat,plng,time,flag) {
var allOverlay = map.getOverlays();
for (var i = 0; i <allOverlay.length; i++){
map.removeOverlay(allOverlay);
}
var point = new BMap.Point(plng,plat); //地图中心点
map.centerAndZoom(point, 16); // 初始化地图,设置中心点坐标和地图级别。
map.enableScrollWheelZoom(true); //启用滚轮放大缩小
//向地图中添加缩放控件
var ctrlNav = new window.BMap.NavigationControl({
anchor: BMAP_ANCHOR_TOP_LEFT,
type: BMAP_NAVIGATION_CONTROL_LARGE
});
map.addControl(ctrlNav);
//向地图中添加缩略图控件
var ctrlOve = new window.BMap.OverviewMapControl({
anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
isOpen: 1
});
map.addControl(ctrlOve);
//向地图中添加比例尺控件
var ctrlSca = new window.BMap.ScaleControl({
anchor: BMAP_ANCHOR_BOTTOM_LEFT
});
map.addControl(ctrlSca);
var point = new Array(); //存放标注点经纬信息的数组
var marker = new Array(); //存放标注点对象的数组
var pointA = new BMap.Point(plng,plat);
var pointB = new BMap.Point(116.1752700672,34.2722378286);

var distanceM = map.getDistance(pointA,pointB);
var distanceKM = (distanceM/1000).toFixed(1);
varmarkerArr = [
{ title: "目的地", point:"116.1752700672,34.2722378286"},
{ title: distanceKM+"千米|", point:plng+","+plat}
];
for (var i = 0; i < markerArr.length; i++) {
var p0 = markerArr.point.split(",")[0]; //
var p1 = markerArr.point.split(",")[1]; //按照原数组的point格式将地图点坐标的经纬度分别提出来
point = new window.BMap.Point(p0, p1); //循环生成新的地图点
marker = new window.BMap.Marker(point); //按照地图点坐标生成标记
map.addOverlay(marker);
var label = newwindow.BMap.Label(markerArr.title, { offset: new window.BMap.Size(-30, -25)});
marker.setLabel(label);
}
}
//第一次加载
_po(0);
//此处是按钮刷新
function getPosition(){
_po(1);
}
...全文
1169 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
guorui46386 2018-02-07
  • 打赏
  • 举报
回复
在线等。。。。。
guorui46386 2018-02-07
  • 打赏
  • 举报
回复
大神快来!
guorui46386 2018-02-07
  • 打赏
  • 举报
回复
求各位路过的大神指点迷津

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧