Google地图API确实是个好东西,我们很多网站上都嵌入了,一直用的是V2,虽然知道有了V3但也不想轻易改动,这次在做新网站的时候才准备实施,也遇到几个问题记录如下:
浏览器兼容性问题
原始例子代码如果前后有<div></div>包含的话,会在部分浏览器中无法显示,例如IE6、IE7中正常,但IE8和Chrome中看不到,同事一起折腾了好一阵子,算是搞好了,需要根据<!DOCTYPE html>标准在css代码中严格定义高度、宽度,并带有px的字样:
<div id="map_canvas" style="width:500px; height:400px">正在载入地图,请稍等...</div>
如果缺少了px或者使用的100%都有可能在部分浏览器中无法显示,这个小小的问题都花去好好多个小时!
信息框代码变更
从V2到V3,一些函数都发生了变化,官方网站中的例子也不是很全,为了实现以前的信息框,又去找了一些资料才搞定。整个例子代码如下:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> var geocoder; var map; var query = "武汉市发展大道176号兴城大厦"; var display = "<b>单位:</b>武汉市劲捷电子信息有限公司"; function initialize() { geocoder = new google.maps.Geocoder(); var myOptions = { zoom: 12, mapTypeId: google.maps.MapTypeId.ROADMAP } map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); codeAddress(); } function codeAddress() { var address = query; geocoder.geocode( { 'address': address}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { map.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location }); var infowindow = new google.maps.InfoWindow({ content:"<b>地址:</b>"+address+"<br>"+display }); infowindow.open(map, marker); } else { alert("未能解析该地址的原因: " + status); } }); } </script> </head> <body onload="initialize()"> <div id="map_canvas" style="width:500px; height:400px"></div> </body>
V3 缺少GoogleBar和AdSense
以前V2中添加GoogleBar很方便,让不能自动解析找到地址的浏览者自己重新输入地址查找,新版本中却没有这个功能,嵌入AdSense的功能也没有加入,我搜索了网上的帖子,一年多都没有解决这两个问题。替换的办法是另外嵌入Local Search代码或者旁边放置AdSense代码,总之麻烦多了。
现在也看不到V3有特别的好处,只是可以不需要以前的API Key了。
上面代码显示出来的地图例子如下:
自由标签
评论16
救星啊!感谢宝贵经验
div 上定义地图大小缺少了px字样,IE除了quirk模式外死活出不来地图。。 通过搜索找到楼主的宝贵经验~~感激不尽~~我们也是反复试出来的
一些小的细节确实容易出问题而难以发现,我们也是反复试出来的,期间也找了很多别人写下的资料,我们的经验教训能帮到其他人就很高兴了!
我郁闷,我的现在在IE上面还是显示不出来,一片空白,他提示
我郁闷,我的现在在IE上面还是显示不出来,一片空白,他提示是“确实标识符,字符串或者数字”
那只有对着google maps
那只有对着google maps api的官方网站仔细查看,另外就是在网上搜索其他人的代码例子。我也是反反复复才搞好的。
这问题就是坑爹的
还好Baidu大神把新闻组也搜出来,在新闻组里面找到了答案,所有的Map容器的父节点都必需有高度
tab
v2版有 infowindowtabs 带标签的信息窗口
现在v3没了tabs信息窗口
请问知道实现V3的TAB信息窗口
我对google maps
我对google maps api的研究并不深,只是勉强实现自己需要的功能,您说的tab不知道是不是我上面说的google bar,如果是的,我们是在地图边上放上一个像google bar的输入框来实现的,如果不是的,那我还不清楚了,您需要在网上其他地方再找,抱歉。
tab
infowindowtab 不是 google bar
是多个信息窗口 以标签的形式 V2有infowindowtab函数提供很方便
虽找不到,还是谢谢你的解答··
你好,怎么加经纬度呢?
你好,怎么加经纬度呢?center: new google.maps.LatLng()
google maps api中经纬度的代码
下面是我嵌入需要显示的经纬度的代码,其中用php加入了经纬度,仅供参考:
请问你所说的“在地图边上放上一个像google
请问你所说的“在地图边上放上一个像google bar的输入框来实现的”,具体是怎么实现的?能把代码给我吗?十分感谢~~
请看例子页面中的源代码
您可以参考下面这个例子页面中的源代码:http://are.bizdirlib.com/dubai_business_directory/MARK_EDGAR_THOMAS_ROBINSON_3D
不过据说不久google maps api的调用需要收费了
谢谢,还有一个关于添加polygon的问题想请教
谢谢,谢谢。还有一个问题,我现在想通过鼠标单击来确定polygon的各个顶点,从而形成一个polygon叠加层,请问有相关代码吗?感激不尽~~~如果能实现各个顶点还可以移动删除,那就更好啦~~~
需要慢慢啃Google Maps API的文档
抱歉,我还没有用过Google Maps API中的polygon功能,这个需要慢慢啃文档,一点点反复测试
google js V3怎么实现关键字搜索的效果呀
google js V3怎么实现关键字搜索的效果呀?比如输入酒店,然后查询出视野范围内的酒店并标注在地图上googlemap v3 IE浏览器 %换成px 正常显示
感谢楼主,找到这篇文件,把%改成px地图就能正常显示