Google Maps API

12
F
На сайте с 22.12.2005
Offline
48
1809

На сайте требуется показ карты для конкретной страны (стран предполагается много) - пользователь заходит на страницу, посвященную данной стране и видит кусок карты.

Функция setCenter требует для этого координаты.

Подскажите, как получить или где взять эти координаты для разных стран в необходимом виде?

Наслаждение жизнью - это искусство
[Удален]
#1

как вариант натыкать вручную., можно использовать возможности поиска по карте, но там количество запросов лимитировано

F
На сайте с 22.12.2005
Offline
48
#2
nikitian:
как вариант натыкать вручную

Можно немного подробнее?

[Удален]
#3
Flame:
Можно немного подробнее?

Например отсюда копируете код и сохраняете данные из скрытого поля mapMarker. Там сохраняются координаты точки и степень приближения. :) Это конечно через гланды, но можете и так.

P.S. Первое, что пришло в голову, чтобы не думать много )

Апокалипсис
На сайте с 02.11.2008
Offline
391
#4

Flame, Нужно знать точные географические координаты страны. А потом +/- отцентрить.

Например map.setCenter(new GLatLng(55.75, 37.57), 9); - посередке будет Москва :)

Записки нищего (http://zapiskinishego.ru) - мой личный блог Услуги php программиста. Очень нужна любая работа. Не покупают? Поведенческий аудит интернет-магазина за 5000 руб. (/ru/forum/990312)
F
На сайте с 22.12.2005
Offline
48
#5

Апокалипсис, в этом-то и проблема - чтобы координаты узнать )))

nikitian, спасибо! Буду пробовать

Апокалипсис
На сайте с 02.11.2008
Offline
391
#6
Flame:
Апокалипсис, в этом-то и проблема - чтобы координаты узнать )))

google earth ммм ?

F
На сайте с 22.12.2005
Offline
48
#7
Апокалипсис:
google earth ммм ?

Тоже вариант. Спасибо!

[Удален]
#8

да сделайте проще - полуите координаты у самого гугла по стране. Там есть фнкция по текстовому даресу координату отдать. Кроме страны можно связку подсовывать - страна + столица.

Anarchist
На сайте с 23.07.2008
Offline
185
#9
Апокалипсис:
google earth ммм ?

с таким же успехом можно понаркоманить таким методом:

в maps.google.com кликаем правой кнопкой на необходимую точку и выбираем в меню пункт "расположить по центру карты". Теперь если мы посмотрим свойства ссылки "Ссылка" (который предлагает вам либо iframe, либо ссылку на гугл) то увидим там координаты, которые нам необходимы в переменной ll. Это намного проще будет.

то есть ll=51.779736,39.27063 это Воронеж (Тут в одной из элитных школ работает чуткая и отзывчивая учительница... ;) )

bezludny
На сайте с 04.03.2009
Offline
42
#10

почитайте документацию. Вам нужен объект GClientGeocoder(). Метод getLatLng.

http://code.google.com/intl/uk-UA/apis/maps/documentation/reference.html#GClientGeocoder

Вот моя JS функция. Можно вызывать так: showAddress('Москва, ул. НазваниеВашейУлицы, д. НомерВашегоДома');


function showAddress(address)
{
oGeocoder.getLatLng(
address,
function(point)
{
if (!point)
{
return false;
}
else
{
oMap.setCenter(point, 16);
oGMarker = new GMarker(point, { /*icon: oGIcon,*/ draggable: true });

GEvent.addListener(oGMarker, "dragstart", function()
{
oMap.closeInfoWindow();
});

GEvent.addListener(oGMarker, "dragend", function()
{
oGLatLng = oGMarker.getLatLng();

addForm.elements['lat'].value = oGLatLng.lat();
addForm.elements['lng'].value = oGLatLng.lng();

});

oMap.addOverlay(oGMarker);
oGLatLng = oGMarker.getLatLng();
oGMarker.openInfoWindowHtml(address);

return true;
}
}
);
}

Естественно, все используемые переменные должны быть объявлены, а некоторые и инициализированы.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий