我想根据区域名称显示谷歌地图。我在jsp页面(即中国湖,加利福尼亚州 - 美国)获得了Zone名称。我需要传递并显示谷歌地图。如何通过Google JavaScript API实现这一目标?
提前致谢
答案 0 :(得分:0)
我找到了解决方案。这是我的代码:
<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>
答案 1 :(得分:-1)
您是否尝试将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在这里是我的另一个功能。初始化地图的那个。 我粘贴的那个只是用于通过搜索字符串获取所需的geocooredinates