原文:
Pump up your info windows to the max! 时间:Tuesday, November 13, 2007 at 12:18:00 PM
作者:Pamela Fox, Maps API Team
你的地图中的信息窗口是不是充满了信息,几乎都无法完全显示?好,就让他们撑大到最大化的信息窗口吧。在2.93版,API开发团队加入了几个选项,函数和事件来扩展GInfoWindow,让你可以模仿GoogleMap中本地搜索结果的信息窗口,它可以展开来显示某个特定商业地点的详细信息。设定GInfoWindowOptions中的maxContent和maxTitle,你的信息窗口就会自动被赋予一个最大化按钮和一个最大化动画。
下面的例子,展示了你如何在地图点击或者标记点击上使用该特性,如何把一个字符串或者DOM节点传递给这个选择。
如果你是一个高手,你可以感兴趣如何在点击的时候动态往最大化的信息窗口装入内容(这样你就可以仅仅下载用户感兴趣的信息)。通过监听
maximizeclick事件,你可以在用返回数据后替换maxContent DOM节点的innerHTML。这里有个例子,展示了如何从其他的文件装入内容到一个最大化信息窗口。
从这些例子开始尝试吧,如果遇到问题可以在
Maps API讨论组告诉我们。不要太沉迷于最大化的动画。 :)
From译者:对于中国的Google Maps API用户任何问题也可以发往
Google Maps API中文讨论组。
Labels: GInfoWindow, GInfoWindowOptions, maxContent, maximizeclick, maxTitle
原文:
Calling all PHP/MySQL Developers: Come get your sample code!作者:
Pamela Fox, Maps API Team
最近我们在观察哪些开发者看了我们写的PHP/MySQL流行文章,并从中受益:“
使用Google Maps和PHP/MySQL”和“
使用PHP和MySQL创建KML”。我们得到了不少回应。这里有其中的两个:
既然很明显有非常多的热心的PHP/MySQL开发者,我们决定为你们再发布两篇新的文章:
所有我们的PHP/MySQL文章使用相同的表和数据,这样你可以简单的只创建一个相似的表,在所有的例子中使用它。 另外,所有的文章支持PHP4和PHP5。
另外,就像我们总是提起的,建议意见请发往
这个论坛。
From译者:对于中国的Google Maps API用户任何问题也可以发往
Google Maps API中文讨论组。
Labels: geocoding, kml, mysql, php
原文:
Introducing... the GoogleBar!作者:
Mike Perrow, Maps API Team最近几个月,AJAX Search API团队启动并完善了他们为
Google Maps API设计的
本地搜索控件。有了本地搜索控件,开发者可以轻松的在他们的Mashup中加入本地商业搜索功能。
我们Maps API团队非常喜爱这个控件,所以我们想让开发者更容易地在自己的地图中加入本地搜索控件。今天,我们发布Google Maps API的新特性,我们把这个新特性叫做GoogleBar。
启用GoogleBar的开发者将看到他们地图上面的"Powered By Google"的Logo被一个漂亮的新控件取代,这个新控件提供了一个搜索框,这样用户就可以搜索地图上的本地信息了。看看下面的例子,你看到的是我在Scotland,Edinburgh的老镇的老巢。来搜搜看那里的Pub吧。
想要使用GoogleBar,简单的调用map对象的enableGooglebar()方法即可。
var map = new GMap2(document.getElementById("map"));
...
map.enableGoogleBar();
像往常一样,任何问题和评论请发布在
Maps API论坛上。
From译者:对于中国的Google Maps API用户任何问题也可以发往
Google Maps API中文讨论组。
Labels: enableGoogleBar, GoogleBar, localsearch
如何在
Google Maps API中使用谷歌地图的数据?
这几乎是我听到的最多的关于
Google Maps API的问题了。大家都知道
Google Maps没有中国的详细地图,在中国,我们只有一个独特的
谷歌地图网站,提供了中国的详细地图。这种现状的原因,Google和谷歌都没有正式解释过,但是我们自己多半也能猜到大概,这我们就不多说了。
问题是,我们有了中国的详细地图,我们怎么在Google Maps API中使用呢?之前我总是这么回答大家,谷歌地图提供了兼容Google Maps API语法的API,唯一的问题就是不太稳定。这个方法其实并不好,因为你需要在代码中去考虑怎么在两个不同的对象之间切换,代码逻辑会变得非常的复杂。
但是因为谷歌地图现在的缩放级别和切图模式已经完全等同于Google Maps了。所以其实,我们有一个非常好的办法,那就是直接利用谷歌地图的地图块构建一个Google Maps API的自定义地图类型。
下面是
来自Anthony Wong的在Google Maps API中使用谷歌地图的例子(地图类型出现了四个选择,第四个DITU就是选择谷歌地图的按钮):
核心代码是:
var copyright = new GCopyright(1, new GLatLngBounds(new GLatLng(-90, -180),
new GLatLng(90, 180)),
0, "Map data: В©2007 Mapabc.com");
var copyrightCollection = new GCopyrightCollection("В©2007 Google - ");
copyrightCollection.addCopyright(copyright);
var dituTileLayer = new GTileLayer(copyrightCollection, 1, 17);
dituTileLayer.getTileUrl = function(tile, zoom) {
return "http://mapgoogle.mapabc.com/googlechina/maptile?v=w2.52&x=" +
tile.x + "&y=" + tile.y + "&zoom=" + (17-zoom);
};
// Using a map type:
var dituMapType = new GMapType([dituTileLayer],
new GMercatorProjection(23), "Ditu", { shortName: "ditu", alt: "Show maps from Google China" });
map.addMapType(dituMapType);
简单又好用,而且不会让你的代码逻辑变复杂,加入这个地图类型后,你的其他代码不需要改动。我准备近期就把这个代码加到
ZMap.org中。
Labels: addMapType, GMapType, GTileLayer, 地图, 自定义地图, 谷歌