Я предполагаю, что в вашем коде уже есть основы для Карт с вашим 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).
Поэтому для создания простого маркера вы просто создадите GMarker с широтой и lng.
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 для каждого города, вы можете использовать Geo Coder от 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
}
});
Итак, я бы просто создал массив GLatLng для каждого города из геокодера и затем нарисовал их на карте.