Как разместить несколько маркеров на карте Google, используя адрес без указания широты и долготы? - PullRequest
2 голосов
/ 01 марта 2012

Я хочу, чтобы в моем приложении отображалось несколько маркеров на карте Google. Предоставляется только адрес города или страны, но без указания широты и долготы города. Любая помощь будет оценена

Ответы [ 2 ]

1 голос
/ 01 марта 2012

В PHP:

$address будет содержать адрес.

$address = str_replace(' ', '+', $address);
$geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?address='.$address.'&sensor=false');

$output= json_decode($geocode);

$lat = $output->results[0]->geometry->location->lat;
$long = $output->results[0]->geometry->location->lng;

Это в php, вы можете получить lat и long.

В JavaScript:

var address = //your address
var map = new google.maps.Geocoder();
map.geocode({'address' : address }, function(results, status){
    alert( "latitude : " + results[0].geometry.location.lat() );
    alert( "longitude : " + results[0].geometry.location.lng() );
});
0 голосов
/ 01 марта 2012

Вы можете получить широту и долготу такого города (или страны), как этот.

address_string = '1600 Pennsylvania Avenue NW Washington, DC 20500';
geocoder = new GClientGeocoder();
geocoder.getLatLng(
    address_string,
    function(point) {
        if (point !== null) {
            alert(point); // or do whatever else with it
        } else {
            // error - not found, over limit, etc.
        }
    }
);

Обратите внимание, что у меня нет ключа API карт Google, поэтому у меня не было временипроверить это.

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