Google Map - взять координаты - PullRequest
       7

Google Map - взять координаты

0 голосов
/ 08 октября 2009

У меня есть карта Google на моем сайте (php, apache, mysql). вот код:

<script type="text/javascript">
        function initialize() {
        if (GBrowserIsCompatible()) {
            var map = new GMap2(document.getElementById("map_canvas"));
            var point = new GLatLng(<? $default_ll ?>,<? $default_spn ?>);
            map.setCenter(point, 15);
            map.setUIToDefault();
            map.setMapType(G_NORMAL_MAP);
            var marker = new GMarker(point);
            map.addOverlay(marker); 
        }
    }

    window.onload = initialize;
    window.onunload = GUnload;
    </script>
    <div id="map_canvas" style="width:500px;height:300px;"></div>

Я хочу сделать кнопку (вне карты div), поэтому, когда пользователь выбрал координаты и нажмет эту кнопку. Текущее местоположение, которое он смотрит прямо сейчас, будет занесено в базу данных. Для простоты вы можете показать, как назначить current: ll для $ new_ll и spn для $ new_spn

1 Ответ

2 голосов
/ 08 октября 2009

Объект карты GMap2 имеет следующие методы:

var center = map.getCenter();   // returns GLatLng of center point of map
var span = map.getBounds();   // returns GLatLngBounds of current map view

Используя их просто, вы можете получить такую ​​кнопку:

<input type="button" onclick="javascript:alert(map.getCenter())" value="Show Coordinates"/>

Более реалистично, вы определите функцию для вызова с помощью кнопки onclick:

function showCenterAndSpan()
{
    var center = map.getCenter();
    var span = map.getBounds();
    var ne = span.getNorthEast();
    var sw = span.getSouthWest();
    var coordStr = "lat=" + center.lat() + "&lng=" + center.lng() + 
        "&n=" + ne.lat() + "&e=" + ne.lng() + "&s=" + sw.lat() + "&w=" + sw.lng();
    alert(coordStr);   // Or, post this string to the server to save into the database
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...