题
给定位置列表,例如
<td>El Cerrito, CA</td>
<td>Corvallis, OR</td>
<td>Morganton, NC</td>
<td>New York, NY</td>
<td>San Diego, CA</td>
生成带有每个位置图钉的 Google 地图的最简单方法是什么?
解决方案
我假设您已经使用 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 地图中的所有内容均基于纬度 (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
但是,如果您不想查找每个城市的纬度和经度,您可以使用 Google 的地理编码器。这是一个例子:
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 地图 API 示例他们让事情变得非常简单,而且他们的 API 文档也很棒。大多数示例都是在客户端用 JavaScript 执行所有代码,但也有其他语言的 API 可用。
我想需要更多信息才能真正给你答案,但是在 Django Pluggables 有一个 django-googlemap 插件 这可能会有帮助。
编辑: 亚当有一个更好的答案。当有疑问时请查看 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/
欢呼约翰
不隶属于 StackOverflow