给定一组位置,例如
<td>El Cerrito, CA</td>
<td>Corvallis, OR</td>
<td>Morganton, NC</td>
<td>New York, NY</td>
<td>San Diego, CA</td>
什么是生成带有每个位置图钉的Google地图的最简单方法?
给定一组位置,例如
<td>El Cerrito, CA</td>
<td>Corvallis, OR</td>
<td>Morganton, NC</td>
<td>New York, NY</td>
<td>San Diego, CA</td>
我假设你的代码中已经有了使用API密钥的地图基础知识。
<head>
<script
type="text/javascript"
href="http://maps.google.com/maps?
file=api&v=2&key=xxxxx">
function createMap() {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.44, -122.14), 14);
}
</script>
</head>
<body onload="createMap()" onunload="GUnload()">
Google Maps中的所有内容都是基于纬度(lat)和经度(lng)的。
因此,要创建一个简单的标记,您只需使用lat和lng创建一个GMarker。
var where = new GLatLng(37.925243,-122.307358); //Lat and Lng for El Cerrito, CA
var marker = new GMarker(where); // Create marker (Pinhead thingy)
map.setCenter(where); // Center map on marker
map.addOverlay(marker); // Add marker to map
但是,如果您不想为每个城市查找Lat和Lng,则可以使用Google的Geo Coder。这是一个示例:
var address = "El Cerrito, CA";
var geocoder = new GClientGeocoder;
geocoder.getLatLng(address, function(point) {
if (point) {
map.clearOverlays(); // Clear all markers
map.addOverlay(new GMarker(point)); // Add marker to map
map.setCenter(point, 10); // Center and zoom map on marker
}
});
所以,我将创建一个由Geocoder中每个城市的GLatLng数组,并将它们绘制在地图上。
查看Google Maps API示例,它们使得操作变得简单易懂,API文档也非常好。大部分的示例都是基于JavaScript在客户端完成的,但是也有其他语言的API可用。
我猜想如果要真正给你一个答案,需要更多的信息。但是在Django Pluggables上有一个django-googlemap插件可能会有所帮助。
编辑:Adam提供了一个更好的答案。当你不确定时,请查看API示例。
试试这个:http://www.google.com/uds/solutions/wizards/mapsearch.html
这是一个谷歌地图向导,可以为您生成代码。虽然不是最适合您的应用程序,但是是一个很好的“入门”之处;)
编辑:(找到了链接),这是一个很好的Google Maps API逐步教程。
祝你好运!
/mp
这里有一些链接,但和大多数事情一样,我还没有试过它们。
http://gathadams.com/2007/08/21/add-google-maps-to-your-net-site-in-10-minutes/
祝福 约翰