百度地图 遇到了一个默明奇妙的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-MYSQL表操作

    一 存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 http://www.cnblogs.com/guoyunlong666/p/8491702.html 二 表介绍 表 ...

  2. MyBatis总结二:增删改查

    上一篇讲述了MyBatis的快速入门,下面在此基础上进行增删改查的操作: 首先定义dao层的接口: package com.zy.dao; import com.zy.domain.User; imp ...

  3. Python_pip_02_利用pip安装模块(以安装pyperclip为例)

    >任务:利用pip安装pyperclip模块 >前提 你已经在你的电脑里面安装啦Python2.7的Windows版本,并且已经配置了环境变量 >实现步骤 >>打开你的P ...

  4. JavaPersistenceWithHibernate第二版笔记-第六章-Mapping inheritance-006Mixing inheritance strategies(@SecondaryTable、@PrimaryKeyJoinColumn、<join fetch="select">)

    一.结构 For example, you can map a class hierarchy to a single table, but, for a particular subclass, s ...

  5. Entity Framework Tutorial Basics(12):Model First

    Model First development with Entity Framework: In the Model First approach, you create Entities, rel ...

  6. 按位操作符(Bitwise operators)

    按位操作符(Bitwise operators) 将其操作数(operands)当作32位的比特序列(由0和1组成),而不是十进制.十六进制或八进制数值.例如,十进制数9,用二进制表示则为1001.按 ...

  7. Umbraco 中获取一个media item的文件路径 file path

    我们要使用UmbracoHelper, 这里就需要用到我们在之前的blog里面写的UmbracoContext 参看这个blog     https://www.cnblogs.com/wphl-27 ...

  8. [学习笔记]通过open函数改变标准输出的方法

    int main(void) { char s[] = "abc.txt"; ; close(STDOUT_FILENO);//关闭标准输出文件描述符 int fd1 = open ...

  9. 友盟让用户数据动起来——给app增加运营

    让用户数据动起来——给app增加运营 一.初识友盟 友盟大家都听说过,在给app集成友盟之前对友盟的认识没有那么深刻.用了友盟之后,才发现友盟很强大. 集成友盟能够获取那些数据呢? 用户的基本信息:比 ...

  10. CentOS使用NTFS-3G加载NTFS硬盘

    CentOS使用NTFS-3G加载NTFS硬盘 CentOS 挂载NTFS格式硬盘时会报错unknown filesystem type 'ntfs',这时就需要用到第三方的插NTFS-3G来加载NT ...