Использование Google Maps с JQuery по адресам вместо широты и долготы - PullRequest
2 голосов
/ 24 ноября 2011

До сегодняшнего дня я работал с GMaps следующим образом:

var map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(latitude, longitude), 15);
        map.addOverlay(new GMarker(new GLatLng(latitude, longitude)));
        map.setUIToDefault();

Однако теперь мне нужно установить центр и добавить наложение по полному адресу (строке) вместо использования широты и долготы.

Как я могу это сделать?

Спасибо.

1 Ответ

2 голосов
/ 25 ноября 2011

Нашел это.

Это так, если кому-то интересно:

JS:

function initializate() {
    if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map_canvas"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        var center = new GLatLng(48.89364, 2.33739);
        map.setCenter(center, 15);
        geocoder = new GClientGeocoder();
        var marker = new GMarker(center, {
            draggable: true
        });
        map.addOverlay(marker);

    }
}

function showAddress(address) {
    var map = new GMap2(document.getElementById("map_canvas"));
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    if (geocoder) {
        geocoder.getLatLng(
            address,
            function(point) {
                if (!point) {
                    alert(address + " not found");
                } else {
                    map.clearOverlays()
                    map.setCenter(point, 16);
                    var marker = new GMarker(point, {
                        draggable: false
                    });
                    map.addOverlay(marker);
                }
            }
            );
    }
}

Тогда я просто звоню:

initializate();
showAddress($(".hotel_location").html()); //Addres as a string

И это все =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...