使用Javascript API的多个邮政编码根据标记提供的Google Maps位置

Mar*_*ria 2 javascript google-maps google-maps-api-3

如何显示Google地图,其中显示了多个邮政编码位置的指针?

我有多个邮政编码,我想在地图上一起显示带有指针的邮政编码。

这是我希望它如何工作的示例(http://awesomescreenshot.com/0a13egtc0d

hen*_*nes 5

据我了解,您有一系列这样的邮政编码。

var postalCodes = [
    '10405', // Berlin
    ...
];
Run Code Online (Sandbox Code Playgroud)

您希望将每个邮政编码转换为地图上的标记。为此,您可以使用Google的地理编码API。您需要做的就是创建一个GeoCoder对象,并geocode用邮政编码和国家/地区提示调用其功能。

geocoder.geocode({
    address: postalCode,
    region: countryHint // e.g. 'DE' for Germany
}, function(result, status) {
    // Create marker
}
Run Code Online (Sandbox Code Playgroud)

一个工作示例:JSFiddle

的HTML

<div id="map-canvas"></div>
Run Code Online (Sandbox Code Playgroud)

的JavaScript

var postalCodes = [
    '01067', // Dresden
    '10405', // Berlin
    '20359', // Hamburg
];

function initialize() {
    var map = new google.maps.Map(document.getElementById('map-canvas'), {
        center: new google.maps.LatLng(52.5167, 12.1833),
        zoom:   6
    });

    var geocoder = new google.maps.Geocoder();

    google.maps.event.addListenerOnce(map, 'tilesloaded', function() {
        for (var i = 0; i < postalCodes.length; ++i) {
            geocoder.geocode({
                address: postalCodes[i],
                region: 'DE'
            }, function(result, status) {
                if (status == 'OK' && result.length > 0) {
                    new google.maps.Marker({
                        position: result[0].geometry.location,
                        map: map
                    });
                }
            });
        }
    });
}

google.maps.event.addDomListener(window, 'load', initialize);
Run Code Online (Sandbox Code Playgroud)

带有标记的地图