我是Google Map / Yahoo Map的绝对新手。我想知道技术上是否可以要求在任何国家显示任何城市动态(我的意思是通过传递参数)然后在城市附近的地图上显示一些图片?
感谢。
答案 0 :(得分:5)
你可以通过多种方式实现这一目标,其中一些比其他方式更漂亮。
另外,要回答问题的开头是,您可以使用GMap的.setCenter()方法将地图重新聚焦到任何位置。 setCenter(),GInfoWindow的文档以及更多http://code.google.com/apis/maps/documentation/reference.html
的文档答案 1 :(得分:4)
答案 2 :(得分:3)
关于第二个问题,
在附近的地图上显示一些图片 这个城市?
我喜欢@ andykram上面的回复,但我之前使用Maps API提供的Panoramio图层实现了此功能。它可能会有点拥挤,但它是人们习惯的界面,因为将它包含在地图中非常简单,这次只是你的解决方案。
只需将以下内容添加到地图初始化功能中即可。
var myLayer = new GLayer("com.panoramio.all");
map.addOverlay(myLayer);
至于动态显示Google地图中的任何城市,该解决方案很容易实现 - 您需要对城市名称进行地理编码。这可以通过触发像onclick这样的事件的函数来完成。
function showAddress(address) {
if (geocoder) {
geocoder.getLatLng(
address,
function(point) {
if (point) {
map.setCenter(point, 13);
var marker = new GMarker(point);
map.addOverlay(marker);
marker.openInfoWindowHtml(address);
}
}
);
}
}
如果遇到障碍,请先尝试一下 - http://econym.org.uk/gmap/ - 可能是网络上GMaps API的最佳资源。
答案 3 :(得分:0)
如果您通常使用地图,GeoExt是一个不错的框架。您也可以访问其他类型的地图(OSM,GeoServer)。