Не работает geocode

Тема в разделе "Как сделать...", создана пользователем Doctor_Chaos, 4 окт 2013.

  1. Doctor_Chaos

    Doctor_Chaos Проктолог-гинеколог

    Moderator
    • Супермодератор
    Регистр.:
    7 сен 2013
    Сообщения:
    950
    Симпатии:
    645
  2. BDSG

    BDSG

    Регистр.:
    28 фев 2009
    Сообщения:
    203
    Симпатии:
    109
    с вашим ключом карта выдаёт:
    интереса ради заглянул в api, сгенерировал себе ключ (не дам ;) ), так вполне себе заработало (всё по докам) :
    HTML:
    <!DOCTYPE html>
    <html>
    <head>
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
        <style type="text/css">
            html {
                height: 100%
            }
    
            body {
                height: 100%;
                margin: 0;
                padding: 0
            }
    
            #map_canvas {
                height: 100%
            }
        </style>
        <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=MY_KEY&language=ru&sensor=false">
    
        </script>
        <script type="text/javascript">
            function initialize() {
    
                var mapOptions = {
                    center: new google.maps.LatLng(-34.397, 150.644),
                    zoom: 8,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                var map = new google.maps.Map(document.getElementById("map_canvas"),
                        mapOptions);
    
                var geocoder = new google.maps.Geocoder();
    
                geocoder.geocode({ 'address': 'Kiev' },
    
                        function (results, status) {
                            if (status == google.maps.GeocoderStatus.OK) {
                                map.setCenter(results[0].geometry.location);
                                var marker = new google.maps.Marker({
                                    map: map,
                                    position: results[0].geometry.location
                                });
                            }
                            else {
                                alert("Geocode was not successful for the following reason: " + status);
                            }
                        });
    
    
            }
        </script>
    </head>
    <body onload="initialize()">
    <div id="map_canvas" style="width:100%; height:100%"></div>
    </body>
    </html>
    зы.. а вообще так вполне себе работает: http://maps.googleapis.com/maps/api/geocode/json?address=Kiev&sensor=false
     
  3. Doctor_Chaos

    Doctor_Chaos Проктолог-гинеколог

    Moderator
    • Супермодератор
    Регистр.:
    7 сен 2013
    Сообщения:
    950
    Симпатии:
    645
    работает апи V3, а мне нужно именно V2, а как заставить его работать - ума не приложу
     
  4. BDSG

    BDSG

    Регистр.:
    28 фев 2009
    Сообщения:
    203
    Симпатии:
    109
    судя по примерам, должно работать так (код только надо заменить на свой, валидный) :
    HTML:
    <!DOCTYPE html>
        <html lang="en">
                <head>
                <meta charset="utf-8" />
                <title>Google Maps API Example: Simple Geocoding</title>
                    <script src="//maps.google.com/maps?file=api&v=2&key=AIzaSyD4iE2xVSpkLLOXoyqT-RuPwURN3ddScAI" type="text/javascript"></script>
    <script type="text/javascript">
    
        var map = null;
        var geocoder = null;
    
        function initialize() {
    
            var address = 'Kiev';
    
            if (GBrowserIsCompatible()) {
                map = new GMap2(document.getElementById("map_canvas"));
                map.setCenter(new GLatLng(37.4419, -122.1419), 13);
                geocoder = new GClientGeocoder();
            }
    
            if (geocoder) {
                geocoder.getLatLng(
                        address,
                        function(point) {
                            if (!point) {
                                alert(address + " not found");
                            } else {
                                map.setCenter(point, 13);
                                var marker = new GMarker(point);
                                map.addOverlay(marker);
    
                                // As this is user-generated content, we display it as
                                // text rather than HTML to reduce XSS vulnerabilities.
                                marker.openInfoWindow(document.createTextNode(address));
                            }
                        }
                );
            }
        }
    </script>
    </head>
    <body onload="initialize()" onunload="GUnload()">
        <div id="map_canvas" style="width: 500px; height: 300px"></div>
    </body>
    </html>
    сейчас проверить не могу, т.к. для генерации ключа нужно указывать хост, на котором будет работать, выложить, откатать... банально некогда с этим возиться..