直到今天,我还在使用这样的GMaps:
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(latitude, longitude), 15);
map.addOverlay(new GMarker(new GLatLng(latitude, longitude)));
map.setUIToDefault();
但是,现在我需要设置中心并使用完整地址(字符串)添加叠加层,而不是使用纬度和经度。
我该怎么做?
谢谢。
答案 0 :(得分:2)
找到它。
如果有人有兴趣,这就是方式:
JS:
function initializate() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
var center = new GLatLng(48.89364, 2.33739);
map.setCenter(center, 15);
geocoder = new GClientGeocoder();
var marker = new GMarker(center, {
draggable: true
});
map.addOverlay(marker);
}
}
function showAddress(address) {
var map = new GMap2(document.getElementById("map_canvas"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
if (geocoder) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " not found");
} else {
map.clearOverlays()
map.setCenter(point, 16);
var marker = new GMarker(point, {
draggable: false
});
map.addOverlay(marker);
}
}
);
}
}
然后我打电话给:
initializate();
showAddress($(".hotel_location").html()); //Addres as a string
那就是它=)