google map 现在已经到第三个版本了,最大的改变是已经不需要那个key了,需要写的代码也比几年前的第一个版本少了很多。就开发来说,真的是方便多了。

google map v3现在还是测试版,不过按照google技术大牛的手段,使用应该不是问题。

关于api等问题,google code上面都有详尽的解释,甚至还有playground可以随便玩。这里主要谈谈tabs选项卡的问题。

有时候我们需要把地图放在选项卡(tabs)之中,这时候会发现如果打开选项卡的话,地图是有问题的,所有的控件都挤在一起。

这是我的html:

<div id=”tab_gmap”>
<div id=”googlemap”></div>
</div>

我们可以绑定选项卡标签的click事件,让每次点击都会初始化地图。

jQuery("a.tabs").click(function (){
    //google maps init;
});

这时候又出现一个问题,第一次会初始化成功,再次切换后发现地图只有很小一块,如果连续点击选项卡,则没有问题。这种问题只需要每次点击的时候,在初始化地图之前,重置一下地图的部分属性。

jQuery("a.tabs").click(function (){
   jQuery("#tab_gmap").css({'display':'block'});
   jQuery("#googlemap").css({'width':'100%', 'height':'100%'});
 
   //google maps init;
 
});

测试了3天才明白了这2句,内牛满面。