这个问题其实很傻,解决方法没有任何技术含量,只是记录下工作中发生的事。

前阵子给一个汽车集团客户做了一个经销商查询系统,其中一个功能是使用地图标注经销商店面地址,并且实现导航功能。

页面演示地址:http://www.lyytqm.com/Dealerships

点击地址区域在模态窗口中显示百度地图,并在地图中标注点位,显示窗口信息,但信息窗口展示的信息频繁失效,仅显示名称。

更换了各种加载数据方式不能解决,在蹲厕所时想到了原因,即可给出解决方法。

原因是bootstrap modal 以及动画 没过完全渲染完成的情况下,信息就加载完成,这种待模态窗口完全渲染后,窗口信息就不会正常显示。

解决方法是使用shown.bs.modal事件,待完全演染完成窗口后,打插入标注点,以及窗口信息。

代码如下:

$('#map-location-modal').on('shown.bs.modal', function (e) {
_ShowMap(data.lng, data.lat, data.title, data.address, data.telphone, '18');
}) function _ShowMap(lng, lat, name, addrsee, phone, zoom) { var message = '<p style="color: #bf0008;">' + name + '</p><p>地址:' + addrsee + '</p><p>电话:' + phone + '</p>'
+ '<form action="http://api.map.baidu.com/direction" method="get" id="gotoBaiduForm">'
+ ' <input type="hidden" value="易通集团网站" name="src" />'
+ ' <input type="hidden" value="" name="region" />'
+ ' <input type="hidden" value="html" name="output" />'
+ ' <input type="hidden" value="driving" name="mode" />'
+ ' <input type="hidden" value="" name="origin" />'
+ ' <input type="hidden" value="latlng:' + lat + ',' + lng + '|name:' + name + '" name="destination" />'
+ ' <button type="button" onclick="gotobaidu()" id="NavigationButton" class="btn btn-default">导航</button>'
+ '</form>';
var map = new BMap.Map("map-container");
var marker = new BMap.Marker(new BMap.Point(lng, lat));
var infoWindow = new BMap.InfoWindow(message); map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
map.centerAndZoom(new BMap.Point(lng, lat), zoom);
map.addControl(new BMap.NavigationControl());
map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
map.addOverlay(marker); marker.addEventListener("click", function () {
this.openInfoWindow(infoWindow);
});
marker.openInfoWindow(infoWindow); }

  

在bootstrap modal 中加载百度地图的信息窗口失效解决方法的更多相关文章

  1. Vue中加载百度地图

    借助百度地图的 LocalSearch 和 Autocomplete 两个方法 实现方式:通过promise以及百度地图的callback回调函数 map.js 1 export function M ...

  2. (转) Arcgis for js加载百度地图

    http://blog.csdn.net/gisshixisheng/article/details/44853709 概述: 在前面的文章里提到了Arcgis for js加载天地图,在本节,继续讲 ...

  3. Delphi中用Webbrowser加载百度地图滚轮失效(ApplicationEvents里使用IsChild提前判断是哪个控件的消息)

    在Delphi中使用Webbrowser加载百度地图时,点击了其它界面,再回到百度地图中,即使点击了鼠标,再用滚轮也不能缩 放地图,除非点地图里面的自带的控件,之后才能缩放,原因是因为其它窗体控件获得 ...

  4. ArcMap和ArcGIS Pro加载百度地图

    前面发布了两篇我用ArcBruTile开发用于ArcMap加载百度地图的插件ArcBruTileBaidu,放在网上后评论和反响还不错,还有两位大学同学通过百度搜索居然搜到我本人!文章和技术介绍也被网 ...

  5. Arcgis for js加载百度地图

    看转:https://blog.csdn.net/qq_41046162/article/details/80248281 通过学习了一段时间的arcgis for js,让我来讲一下如何在arcgi ...

  6. 百度编辑器ueditor 异步加载时,初始化没办法赋值bug解决方法

    百度编辑器ueditor 异步加载时,初始化没办法赋值bug解决方法 金刚 前端 ueditor 初始化 因项目中使用了百度编辑器——ueditor.整体来说性能还不错. 发现问题 我在做一个编辑页面 ...

  7. 【百度地图API】建立全国银行位置查询系统(五)——如何更改百度地图的信息窗口内容?

    原文:[百度地图API]建立全国银行位置查询系统(五)--如何更改百度地图的信息窗口内容? 摘要: 酷讯.搜房.去哪儿网等大型房产.旅游酒店网站,用的是百度的数据库,却显示了自定义的信息窗口内容,这是 ...

  8. 关于ios 程序加载百度地图lib,出现链接错误:找不到符号 (null): _OBJC_CLASS_$_BMKMapManager的解决办法

    报告的错误信息 ld: warning: ignoring file /Users/5012/Documents/sphuang/IOS_project/baidu_map/ShareLocation ...

  9. Skyline中加载WMTS地图

    Skyline中默认是Bing地图,必应虽然免费无偏移,但在国内的影像质量并不是很好.不用担心,Skyline支持多种影像图层,包括WFS.WMS.WMTS地图服务.使用地图作为底图有两个好处: (1 ...

随机推荐

  1. WCF服务编程 读书笔记——第2章 服务契约

    操作重载诸如 C++ 和 C# 等编程语言都支持方法重载,即允许具有相同名称的两个方法可以定义不同的参数.例如,如下的 C# 接口就是有效的定义: interface ICalculator { in ...

  2. 迟到的成果——Qt 小学生出题神器设计

    Github传送门 Part 1.成果展示及感想 原先一直有个疑惑的问题困扰着对Qt一无所知的我:如何才能使得C++代码在Qt上运行.然而这种困惑在进一步对Qt的了解过程中都得到了慢慢的解决,逐渐有一 ...

  3. 第十六章 IIC协议详解+UART串口读写EEPROM

    十六.IIC协议详解+Uart串口读写EEPROM 本文由杭电网友曾凯峰根据小梅哥FPGA IIC协议基本概念公开课内容整理并最终编写Verilog代码实现使用串口读写EEPROM的功能. 以下为原文 ...

  4. elasticsearch常用JAVA API 实例

    1.引入dependency <dependency> <groupId>org.springframework.data</groupId> <artifa ...

  5. 关于typedef的用法总结(装)

    不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中.typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些 ...

  6. MVC4 4种Filter

    1. AuthorizationFilter: 从命名上看这个用于完成授权相关的工作. AuthorizationFilter 实现了 IAuthorizationFilter 接口, 如果我们希望执 ...

  7. docker 进入容器

  8. EasyFastCMS系列教学课程——1、三层框架的搭建

    在本系列教程中,我们以一个大型CMS系统的完整开发流程为例,和大家一起探讨net开发的经验和教训.在本程序中,我们采用了流行的三层/N层框架+仓储模式的架构模式.项目分层示意图:     各层的主要用 ...

  9. FTP ftp部署遇到问题

    FTP  ftp部署遇到问题 一. 二.

  10. pageadmin CMS Sql新建数据库和用户名教程

    用pageadmin网站制作如何Sql新建数据库和用户名 sql server软件安装完毕后,需要新建一个数据库用来作为网站的数据库. 1.打开sql管理界面,如图所示,找到数据库,右键单击数据库,选 ...