Thursday, November 15, 2007

[翻译]把你的信息窗口撑到最大化

原文:Pump up your info windows to the max!
时间:Tuesday, November 13, 2007 at 12:18:00 PM

你的地图中的信息窗口是不是充满了信息,几乎都无法完全显示?好,就让他们撑大到最大化的信息窗口吧。在2.93版,API开发团队加入了几个选项,函数和事件来扩展GInfoWindow,让你可以模仿GoogleMap中本地搜索结果的信息窗口,它可以展开来显示某个特定商业地点的详细信息。设定GInfoWindowOptions中的maxContent和maxTitle,你的信息窗口就会自动被赋予一个最大化按钮和一个最大化动画。

下面的例子,展示了你如何在地图点击或者标记点击上使用该特性,如何把一个字符串或者DOM节点传递给这个选择。



如果你是一个高手,你可以感兴趣如何在点击的时候动态往最大化的信息窗口装入内容(这样你就可以仅仅下载用户感兴趣的信息)。通过监听maximizeclick事件,你可以在用返回数据后替换maxContent DOM节点的innerHTML。这里有个例子,展示了如何从其他的文件装入内容到一个最大化信息窗口。

从这些例子开始尝试吧,如果遇到问题可以在Maps API讨论组告诉我们。不要太沉迷于最大化的动画。 :)

From译者:对于中国的Google Maps API用户任何问题也可以发往Google Maps API中文讨论组

Labels: , , , ,



Sunday, November 11, 2007

[翻译]呼叫所有的PHP/MySQL开发者:这里有给你们的例子代码

原文:Calling all PHP/MySQL Developers: Come get your sample code!
作者:

最近我们在观察哪些开发者看了我们写的PHP/MySQL流行文章,并从中受益:“使用Google Maps和PHP/MySQL”和“使用PHP和MySQL创建KML”。我们得到了不少回应。这里有其中的两个:
  • SuburbView:这是一个澳大利亚的不动产列表网站,包括一个地图和复选框允许你过滤结果,还包括一个带有显著标签的KML文件,可以指示出列表中所有重要的价格。
  • Crete Property Map:这是另外一个不动产列表网站,允许用户使用复选框过滤结果,还包括了我们开源的DragZoomControl,以及一个好看的侧边栏和信息窗口。开发者还在他的sitemap中包含了KML输出结果,这样他的不动产列表就可以被Google索引,可以在Google Maps中被搜索到。
既然很明显有非常多的热心的PHP/MySQL开发者,我们决定为你们再发布两篇新的文章:

所有我们的PHP/MySQL文章使用相同的表和数据,这样你可以简单的只创建一个相似的表,在所有的例子中使用它。 另外,所有的文章支持PHP4和PHP5。

另外,就像我们总是提起的,建议意见请发往这个论坛

From译者:对于中国的Google Maps API用户任何问题也可以发往Google Maps API中文讨论组

Labels: , , ,



Tuesday, November 06, 2007

[翻译]对GoogleBar的介绍

原文:Introducing... the GoogleBar!
作者:
最近几个月,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: , ,



如何在Google Maps API中使用谷歌地图的数据

如何在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: , , , , ,