Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с Google Maps из PHP, нужно получить latitude/longitude 
V
    Опции темы
lesha_od
Дата 18.10.2007, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 3.12.2006

Репутация: нет
Всего: нет



Задача.
Имеется адрес объекта, например "Anaheim, Orange County, California, United States, 36283" или "Kyiv, Ukraine".
Гугл maps его находит. Координаты через JS можно получить так:

Код

function showAddress(address) {
    initialize();
      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (point) {
            
              map.setCenter(point, 13);
              var marker = new GMarker(point);
              map.addOverlay(marker);
              //marker.openInfoWindowHtml(address);
        document.getElementById("xaxe").value=point.x;
        document.getElementById("yaxe").value=point.y;
        }
          }
        );
      }
    }



где point.x и у - это широта/долгота искомой локации.

Вопрос в там, как в Php это получить, не создавая дополнительную страницу. Причем, объектов будет произвольное число, и потом их все нужно будет нанести на карту и дать каждому ссылку.
В идеале помогла бы функция типа find(String $place) {... return $POINT;}
Если кто-то сталкивался или имеет соображения по этому поводу, это будет очень полезно. Простое AJAX-решение тоже будет интересно.
PM MAIL   Вверх
lesha_od
Дата 19.10.2007, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 3.12.2006

Репутация: нет
Всего: нет



Вопрос, кстати решил. Просто всё, что нужно было, сделал через JavaScript (массивы которого сгенерены на php). Кто столкнется - готов подробно объяснить, как делать.
PM MAIL   Вверх
daxa
Дата 30.11.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 30.11.2007

Репутация: нет
Всего: нет



В php4 координаты можно получить следующим образом:

Код

$address = "109-2 Atlantic Ave New York United States";
$map_url = "http://maps.google.com/maps/geo?output=csv&key="._MAP_KEY."&q=".urlencode($address);
$csv = file_get_contents($request_url);


Однако у меня выдается такя ошибка:

Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: gethostbyname failed in ...

В одной из тем уже поднималась такая проблема, но если allow_url_fopen = on, и вместо file_get_contents пробовала file(), fopen() с таким же результатом, то как можно выйти   из этой ситуации (для php4)?

PM MAIL   Вверх
teroni
Дата 30.11.2007, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 1
Всего: 22



curl или сокетами получайте...
И определитесь, $map_url или $request_url вам нужны ;)

Это сообщение отредактировал(а) teroni - 30.11.2007, 23:48
PM MAIL   Вверх
doroshenkoes
Дата 5.3.2008, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 5.3.2008

Репутация: нет
Всего: нет



Добрый день. А, может быть, кто-нибудь сталкивался со следующей проблемой: В параметре "q" передаю "Россия, Москва, Улица Тверская,  дом 4". В ответ приходят координаты 1-ой Тверской-Ямской улицы, д.4. Как я понял, по запросу ул. Тверская он находит несколько улиц, и выдает мне первую (логично, ведь 1-я Тверская-Ямская при сортировке по алфавиту выйдет раньше, чем Тверская). Как сделать чтобы он присылал хотя бы все результаты? А в идеале было бы вообще поставить какой-нибудь флажок для более строгого поиска.
Заранее спасибо
PM MAIL   Вверх
solenko
Дата 5.3.2008, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: нет
Всего: 67



Нужно использовать не getLatLng, а getLocations


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0446 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.