百度地图 遇到了一个默明奇妙的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. 用JS,求斐波那契数列第n项的值

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  2. CentOS和Ubuntu系统下安装vsftp(助推大数据部署搭建)

    不多说,直接上干货! 同时,声明,我这里安装的vsftp,仅仅只为我的大数据着想,关于网上的复杂安装,那是服务和运维那块.我不多牵扯,也不多赘述. 一.CentOS系统里安装vsftp 第一步:使用y ...

  3. 【转】Xcode 清理存储空间

    移除 Xcode 运行安装 APP 产生的缓存文件(DerivedData) 只要重新运行Xcode就一定会重新生成,而且会随着运行程序的增多,占用空间会越来越大.删除后在重新运行程序可能会稍微慢一点 ...

  4. IDEA创建Maven项目一直显示正在加载的问题

    在用idea创建maven项目的时候 有时候会出现下面这种情况 出现原因 IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行时,需 ...

  5. 使用myeclipse自动导入hibernate3的jar包,如何关联hibernate源码的解决办法

    1.在网上找了好久,今天终于解决了,如果你的myeclipse自动生成的添加hibernate3jar包时,依靠通常的方法是无法关联其相应版本的源代码的,就是你在编写代码是,按住ctrl + hibe ...

  6. apaache php 日记设计

    有个客户服务器是用apache搭建的,最近总是感觉站很慢,服务器很慢很卡,有时候甚至网 站都打不开,后来经过排查分析原来是里面的access.log和error.log这两个文件要经常上去看,和清理, ...

  7. C++实现矩阵的相加/相称/转置/求鞍点

    1.矩阵相加 两个同型矩阵做加法,就是对应的元素相加. #include<iostream> using namespace std; int main(){ int a[3][3]={{ ...

  8. python2 and python3 difference - division

    1. python2 2. python3 3.from python environment import py3 features

  9. Flask框架 之 功能详解

    浏览目录 配置文件 路由系统 视图 请求相关 响应 模板渲染 session 闪现 中间件 蓝图(blueprint) 特殊装饰器 配置文件 知识点 给你一个路径 “settings.Foo”,可以找 ...

  10. 第6章 jQuery与Ajax的应用

    6.1 Ajax的优势和不足 6.1.1 Ajax的优势 1.不需要插件支持 2.优秀的用户体验 3.提高Web程序的性能 Ajax模式只是通过XMLHttpRequest对象向服务器端提交希望提交的 ...