Google Maps Geocoder没有给出结果

时间:2011-07-05 06:58:46

标签: php javascript jquery google-maps google-maps-api-3

我正在使用Google Maps V3 API并使用其Geocoder对用户点击的地图上的点进行反向地理编码。

在DOM完全加载时加载地理编码功能

$(function() {
reverse_geocode(40.714224,-73.961452);

});

执行反向地理编码的功能

function reverse_geocode(lat,lng) {

    var geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(10,-10);
    geocoder.geocode({'latLng': latlng}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            alert('asdasd');
        } else {
             alert("Geocoder failed due to: " + status);
        }
    }); 

}

如果我首次加载页面时调用reverse_geocode函数,则一切正常并调用alert()

但是,如果我只是在地图上右键点击后触发reverse_geocode(),然后在div上点击鼠标,使用下面的代码,没有任何反应!知道出了什么问题吗?

google.maps.event.addListener(map, "rightclick", function(event) {
                //some code not shown
                $("#info_rightclick_top").click(function(e) {

                    info_ok_handleclick();
                });
            });


function info_ok_handleclick() {
            $("#info_ok").click(function(e) {
                var lat = marker_search_location.getPosition().lat();
                var lng = marker_search_location.getPosition().lng();
                var latlng = lat + "_" + lng;



                reverse_geocode(10,-10);

                // some code hidden
            });

1 个答案:

答案 0 :(得分:0)

使用此下方代码,您可以按关键字搜索位置。

        <?php
         include_once("include/GoogleMap.php");
         include_once("include/JSMin.php");
         $mapcity="India";
         $mapdesc="description about this map";
         $MAP_OBJECT = new GoogleMapAPI(); 
         $MAP_OBJECT->_minify_js = isset($_REQUEST["min"])?FALSE:TRUE;

         $MAP_OBJECT->addMarkerByAddress($mapcity,"Map name", $mapdesc);
         $MAP_OBJECT->enableStreetViewControls();
        ?>
        <html>
        <head>
        <?=$MAP_OBJECT->getHeaderJS();?>
        <?=$MAP_OBJECT->getMapJS();?>
        </head>
        <body>
        <?=$MAP_OBJECT->printOnLoad();?>
        <?=$MAP_OBJECT->setMapType(ROADMAP);?>
        <?=$MAP_OBJECT->printMap();?>
        <?=$MAP_OBJECT->printSidebar();?>
        </body>
        </html>