我正在使用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
});
答案 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>