【发布时间】:2011-03-19 05:36:27
【问题描述】:
我想根据区域名称显示谷歌地图。我在我的 jsp 页面中获得了区域名称(即中国湖,加利福尼亚州 - 美国)。我需要通过它并显示谷歌地图。如何通过 Google javascript API 做到这一点?
提前致谢
【问题讨论】:
标签: google-maps
我想根据区域名称显示谷歌地图。我在我的 jsp 页面中获得了区域名称(即中国湖,加利福尼亚州 - 美国)。我需要通过它并显示谷歌地图。如何通过 Google javascript API 做到这一点?
提前致谢
【问题讨论】:
标签: google-maps
我找到了解决方案。这是我的代码:
<script type="text/javascript">
var map = null;
var geocoder = null;
function initialize() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
map.setUIToDefault();
geocoder = new GClientGeocoder();
showAddress("Melapalayam,Tirunelveli,Tamilnadu");
}
}
function showAddress(address) {
if (geocoder) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " not found");
} else {
map.setCenter(point, 15);
var marker = new GMarker(point, {draggable: true});
map.addOverlay(marker);
GEvent.addListener(marker, "click", function() {
alert(address);
});
}
}
);
}
}
window.onload = initialize;
</script>
【讨论】:
您是否尝试将 zonename 作为位置传递给 geoCoder 的函数 getLocations ?
让我们知道这是否有效。
编辑:抱歉,稍等片刻。我会发布一些清单。
function userLocSearch(location){
userInput = location;
if (GBrowserIsCompatible()) {
geocoder = getGeocoder();
geocoder.getLocations(location, function(responce){
if(responce.Status.code==200){
if(responce.Placemark.length==1){
//just one result
mapInit(responce.Placemark[0].Point.coordinates[1],responce.Placemark[0].Point.coordinates[0],14);
}else{
//more than one result
mapInit(responce.Placemark[0].Point.coordinates[0],responce.Placemark[0].Point.coordinates[1],14);
updateInfoText(responce.Placemark.length);
}
}else{
//error
//no result
geocoder.getLocations("USA", function(responce){
mapInit(responce.Placemark[0].Point.coordinates[1],responce.Placemark[0].Point.coordinates[0],6);
});
}
});
}else{
//TODO
//browser not compartible
}
return false;
}
mapInit 是我的另一个函数。初始化地图的那个。 我粘贴的只是为了通过搜索字符串获取所需的地理坐标
【讨论】: