给出一个位置列表,如
<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地图中的所有内容均基于纬度(纬度)和经度(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的地理编码器.下面是一个例子:
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数组,然后在地图上绘制它们.