百度地图 遇到了一个默明奇妙的bug.....  调用后中心点 不再 point(标注的点上...)这是需要执行一次(仅一次) 当 地图 加载完后 执行(这个方法你每次改地图 都会执行...所以让他执行一次......因为这个问题只会在 首次出现...)

 //百度地图的 js ....
var userLocation = {la: 0, lg: 0}; //定义一个 变量.标志 方法只能执行一次...在执行完 百度 tilesloaded 后 将此变量设为 false...
var flag = true; //只能执行一次的方法.....
function initBaiduMap() {
if (userLocation.la === 0 || userLocation.lg === 0) {
//给保定的位置
userLocation.la = 38.87;
userLocation.lg = 115.47;
}
// 百度地图API功能
var map = new BMap.Map("allmap");
var point = new BMap.Point(userLocation.lg, userLocation.la);
map.centerAndZoom(point, 18);
var local = new BMap.LocalSearch(map, {
renderOptions: {map: map}
});
map.enableScrollWheelZoom(true);
map.addControl(new BMap.MapTypeControl({
mapTypes: [
BMAP_NORMAL_MAP,
BMAP_HYBRID_MAP
]
}));
//添加工具栏
var top_left_control = new BMap.ScaleControl({anchor: BMAP_ANCHOR_TOP_LEFT});// 左上角,添加比例尺
var top_left_navigation = new BMap.NavigationControl(); //左上角,添加默认缩放平移控件
var top_right_navigation = new BMap.NavigationControl({
anchor: BMAP_ANCHOR_TOP_RIGHT,
type: BMAP_NAVIGATION_CONTROL_SMALL
});
map.addControl(top_right_navigation); map.addEventListener('tilesloaded', function () {
//加载完成是有一个bug...该bug会导致..点偏移一次....这个方法只应该执行一次----
//默认检索...高阳县
// local.search("河北省保定市高阳县");
if (flag) {
map.clearOverlays();
var marker = new BMap.Marker(point);
map.addOverlay(marker);
map.centerAndZoom(marker, 1);
map.panTo(point, {noAnimation: true});
map.setCenter(point);
flag = false;
}
});
//绑定搜索事件....
$("#searchLocation").click(function () {
//清空所有标注....
map.clearOverlays();
local.search($("#detailLocation").val().trim());
});
//定义一个 marker 对象...
var mapLocation = {lg: 0, la: 0, label: {}};
map.addEventListener("click", function (e) {
//alert(e.point.lng + ", " + e.point.lat);
//清空所有标注....
map.clearOverlays();
//新建一个标注...
var marker = new BMap.Marker(e.point);
map.addOverlay(marker);
}); //绑定取消..
$('#cancelSelectMap').on('tap', function () {
$("#baiduMapWrapper").hide();
$("#form").show();
}); $("#confirmMapLocation").click(function () {
var markers = map.getOverlays();
for (var i = 0; i < markers.length; i++) {
console.log(typeof markers);
}
if (markers !== undefined) {
if (markers.length > 1) {
alert('标记大于一个...' + markers.length);
} else {
var point = markers[0].point;
mapLocation.lg = point.lng;
mapLocation.la = point.lat;
try {
mapLocation.infoWindow = markers[0].yb['content'];
var html = markers[0].yb['content'];
var marker = markers[0];
var address = $(html).find('tr:first').find('td:eq(1)').text();
vm.shop.address = address.trim();
vm.shop.map_location = mapLocation.lg + "," + mapLocation.la;
//$("#map_location").val(mapLocation.lg + ',' + mapLocation.la);
} catch (e) {
console.log(e);
vm.shop.map_location = mapLocation.lg + "," + mapLocation.la;
}
$("#baiduMapWrapper").hide(200);
$("#form").show(200);
}
}
});
}

百度地图 api bug 解决.......的更多相关文章

  1. 百度地图api的覆盖物样式与bootstrap样式冲突解决办法

    使用百度地图api 和 bootstrap ,发现标注样式出现了问题 label左侧 宽度变得非常窄 正常情况下应该是下面这样的: 原因是boostrap样式和百度地图样式冲突了. 解决办法: .ba ...

  2. 百度地图API 与 jquery 同时使用时报 TypeError $(...) is null错误 失效的原因及解决办法

    在引用百度地图API后,发现jquery 根据id 找不到 form.但是对于别的控件没有问题. 在排除了 html加载的问题后. 上网查找 发现以下解决办法: 原因应该是有冲突的插件. 解决办法将 ...

  3. 百度地图API详解之事件机制,function“闭包”解决for循环和监听器冲突的问题:

    原文:百度地图API详解之事件机制,function"闭包"解决for循环和监听器冲突的问题: 百度地图API详解之事件机制 2011年07月26日 星期二 下午 04:06 和D ...

  4. 百度地图API显示多个标注点,解决提示信息问题以及给标注增加地图旁的文字连接提示的另一种解决办法

    原文:百度地图API显示多个标注点,解决提示信息问题以及给标注增加地图旁的文字连接提示的另一种解决办法 公司的网站改版要求在一个页面显示百度地图.上面要同时显示很多标注点,标注点当然要有提示信息嘛,提 ...

  5. 百度地图api在Html中显示,在jsp页面中不显示解决方法

    在jsp页面中显示如下 但是在html中正常显示. 原来的代码如下: <script type="text/javascript" src="http://api. ...

  6. 关于 WebBrowser调用百度地图API 鼠标滚轮缩放地图级别失灵的解决办法

    在桌面程序下 百度地图API的鼠标缩放地图功能可能会失灵无效! 这个原因不是API的问题 小弟试了下在WEB上面是没有问题的 于是考虑可能是WebBrowser的获取焦点问题,于是在主窗体 添加了一个 ...

  7. 百度地图API多个点聚合时,标注添加的标签label地图刷新就丢失的问题解决

    当将自定义的Marker(含有Label)通过MarkerClusterer 管理的时候,当地图发生任何移动.缩放 的时候,Marker 的Label 就会自动消失. 这个问题主要是由于百度的点聚合A ...

  8. 百度地图API开发指南

    简介什么是百度地图API? 百度地图API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富.交互性强的地图应用.百度地图API包含了构建地图基本功能的各种接口,提供 ...

  9. Qt开发北斗定位系统融合百度地图API及Qt程序打包发布

    Qt开发北斗定位系统融合百度地图API及Qt程序打包发布 1.上位机介绍 最近有个接了一个小型项目,内容很简单,就是解析北斗GPS的串口数据然后输出经纬度,但接过来觉得太简单,就发挥了主观能动性,增加 ...

随机推荐

  1. DAY10-python并发之IO模型

    一 IO模型介绍 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问 ...

  2. javaScript之NodeList

    NodeList对象 是DOM操作取出的集合(实际上是基于DOM结构动态查询的结果),用来保存一组有序的节点,可以通过位置来访问这些节点,它并不是array的实例. Nodelist最大的特点就是它的 ...

  3. hbase性能调优(转载)

    一.服务端调优 1.参数配置 1).hbase.regionserver.handler.count:该设置决定了处理RPC的线程数量,默认值是10,通常可以调大,比如:150,当请求内容很大(上MB ...

  4. Android中同一个ImageView中根据状态显示不同图片

    一般: if(条件1) { image.setBackground(R.id.xxx1); } else if (条件2) { image.setBackground(R.id.xxx2); } 实际 ...

  5. 【总结整理】json数据请求简化版理解(祺哥的成果)

    在同源js目录下新建.txt文件 { "news":[ {"title":"审计管理","time":"201 ...

  6. 生产者与消费者-N:N-基于list

    多个生产者/多个消费者: /** * 生产者 */ public class P { private MyStack stack; public P(MyStack stack) { this.sta ...

  7. ZBar在Windows上的使用 -- ImageMagick and OpenCV

    博客转载自:https://blog.csdn.net/sunflower_boy/article/details/49095265 1. 下载ZBar v0.10 http://zbar.sourc ...

  8. BridgePattern(23种设计模式之一)

    生活中的一个例子 就拿汽车在路上行驶的来说.即有小汽车又有公共汽车,它们都不但能在市区中的公路上行驶,也能在高速公路上行驶.这你会发现,对于交通工具(汽车)有不同的类型,然而它们所行驶的环境(路)也在 ...

  9. GCD 学习(一)简介

    文章摘抄至:http://zhuyanfeng.com/archives/3015 并有一些改动 GCD(Grand Central Dispatch)是从OS X Snow Leopard和iOS ...

  10. ZROI2018提高day3t2

    传送门 分析 我们设A[i]表示点i有几个矿,B[i]表示这之中有几个矿是第一次出现,所以点i的贡献即为 (2^B[i]-1)*(2^(A[i]-B[i])) 注意减一的原因是第一次出现的矿应至少有一 ...