За последние 24 часа нас посетили 16842 программиста и 1641 робот. Сейчас ищут 948 программистов ...

Как получить координаты места

Тема в разделе "JavaScript и AJAX", создана пользователем Paulplus, 1 апр 2011.

  1. Paulplus

    Paulplus Активный пользователь

    С нами с:
    30 июн 2010
    Сообщения:
    21
    Симпатии:
    0
    Адрес:
    Украина
    Здравствуйте!
    Хочу использовать на сайте карту Google, проблема в том, что не знаю, как получить координаты места.
    То есть, на страничке есть объявление, там есть адрес. Делаю из адреса ссылку, которую если вставить в строку браузера, то Гугл выдаст координаты места.
    Например: ссылка http://maps.google.com/maps/geo?q=u...tf8&sensor=false&key=your_google_maps_api_key выдаёт на страничке "200,6,50.4255910,30.4597610".
    Координаты получены, но мне так не надо, я хочу эти координаты впихнуть в переменную, чтобы потом использовать, для этого я пытаюсь получить эту же страничку Curl'ом:
    Код (Text):
    1.  
    2. $url_Google = "http://maps.google.com/maps/geo?q=ukraine,+kiev,+Sevastopolskaya&output=csv&oe=utf8&sensor=false&key=your_google_maps_api_key";
    3. $port = 8080;
    4. $ch = curl_init();
    5. curl_setopt ($ch, CURLOPT_URL , $url_Google);
    6. curl_setopt ($ch, 8080, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7");
    7. curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 );
    8. $content = curl_exec($ch); // получили координаты адреса для карты Google
    9. curl_close($ch);
    10. echo "<br>".$content;
    ... в ответ на это Google выдаёт мне ошибку 404 с сообщением "Your client has issued a malformed or illegal request."
    Подскажите, как мне получить координаты.
    P.S. Если этот вопрос я задал не в той ветке, то прошу прощения, не нашёл куда правильно разместить.
     
  2. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Paulplus
    не знаю как остальные, но я получаю координаты прямо из запроса браузера с помощью jquery (javascript).
    т.е. вначале запрашиваю координаты, а когда получу их, строю карту. весь процесс происходит на стороне клиента, без серверной части (то бишь без участия пхп)
     
  3. Paulplus

    Paulplus Активный пользователь

    С нами с:
    30 июн 2010
    Сообщения:
    21
    Симпатии:
    0
    Адрес:
    Украина
    Спасибо Gromo за подсказку. Если других вариантов здесь никто подскажет, то буду решать вопрос этим способом, правда мне так будет значительно сложнее, в javascript я пока плохо разбираюсь.
     
  4. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Paulplus

    [js]
    function google_map(data){
    // if error loading data - exit
    if(data.Status.code != '200'){ return false; }

    // set coordinates
    GOOGLE_COORDS = data.Placemark[0].Point.coordinates;

    // create map element
    var position = new google.maps.LatLng(GOOGLE_COORDS[1], GOOGLE_COORDS[0]);
    var myOptions = {
    'zoom': 10,
    'center': position,
    'mapTypeId': google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("google_map"), myOptions);
    var marker = new google.maps.Marker({ 'map': map, 'position': position });
    }

    $(document).ready(function(){
    $.getScript('http://maps.google.com/maps/geo?q=' + encodeURIComponent('YOUR ADDRESS HERE') + '&key=YOUR_GOOGLE_KEY_HERE&sensor=false&output=json&oe=utf8&callback=google_map');
    }); [/js]

    используется jquery, в документе должен быть див с id="google_map", где будет отображаться карта.
     
  5. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Блиаааа.
     
  6. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Apple
    что в коде не так?