Member 13463597 Ответов: 0

Как получить zipcode в инфобоксе на основе местоположения click on click в Bing maps API


Я работаю с Bing Maps API. То, что я пытаюсь сделать, - это иметь всплывающее окно infobox onclick с местоположением zipcode нажатого местоположения. Приведенный ниже код - это то, что у меня есть до сих пор, но он не работает. Я либо получаю ошибку "object Object", либо" object undefined", либо, как и в случае с текущим кодом, инфобокс вообще не появляется.

Что я уже пробовал:

function loadMapScenario() {
    var map = new Microsoft.Maps.Map(document.getElementById('myMap'), {
        credentials: '...',
        disableStreetside: true,
        mapTypeId: Microsoft.Maps.MapTypeId.road,
        enableSearchLogo: false,
        showMapTypeSelector: false,
        showScalebar: false
                });
                Microsoft.Maps.Events.addHandler(map, 'click', function (e) {
                    if (e.targetType == 'map') {
                        var point = new Microsoft.Maps.Point(e.getX(), e.getY());
                        var loc = e.target.tryPixelToLocation(point);
                        var location = new Microsoft.Maps.Location(loc.latitude, loc.longitude);
                        Microsoft.Maps.loadModule('Microsoft.Maps.Search', function () {
                            var searchManager = new Microsoft.Maps.Search.SearchManager(map);
                            var reverseGeocodeRequestOptions = {
                                location,
                                callback: function (answer, userData) {
                                    var zipcode = answer.address.postalCode;
                                }
                            }
                            searchManager.reverseGeocode(reverseGeocodeRequestOptions);
                            var infobox = new Microsoft.Maps.Infobox(location, { title: 'Map Center',description: '' + zipcode});
                            infobox.setMap(map);
                        });
                    }
                });
}

0 Ответов