我正在开设一个房产门户网站。我需要用gMap实现:/
我有一个动态列表框,我需要谷歌地图动态地在地图上标记我的城市和城镇选择......
欣赏帮助!!感谢
alt text http://img.skitch.com/20090821-txmaw93yjt5ua197t41f6k1e3u.jpg
答案 0 :(得分:1)
如果您只有城市名称或地址,请使用以下功能:
var map = new GMap2(document.getElementById("map"));
var geocoder = new GClientGeocoder();
function showAddress(address) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " not found");
} else {
map.setCenter(point, 13);
var marker = new GMarker(point);
map.addOverlay(marker);
marker.openInfoWindowHtml(address);
}
}
);
}
或者,如果您拥有以下所需的所有值,请使用以下代码:
var json_loc = { "locationName": "xxxx", "locationAddress": "xxxx", "latitude": xxxx, "longitude": xxxx };
如果您具有上述值,则可以使用以下功能来制作Google地图。
var map = new GMap2(document.getElementById("map"));
var point = new GLatLng(json_loc.latitude, json_loc.longitude);
var locationName = json_loc.locationName;
var locationAddress = json_loc.locationAddress;
map.setCenter(point, 14);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.addOverlay(locationView.createMarker(point, locationName, locationAddress));
// Creates a marker whose info window displays the letter corresponding
// to the given index.
createMarker: function(point, locationName, locationAddress) {
var marker = new GMarker(point);
GEvent.addListener(marker, "mouseover", function() {
marker.openInfoWindowHtml("<b>" + locationName + "</b><br>" + locationAddress);
});
return marker;
}
答案 1 :(得分:0)
我建议使用此扩展(JS库): http://www.pixeldevelopment.com/pdmarker.asp
对于坐标,您需要通过google API执行地理编码,以获取所需城市的正确坐标。
答案 2 :(得分:0)
这是向地图添加标记的最简单方法。
var point = new GLatLng(40,10);
var marker = new GMarker(point);
map.addOverlay(marker);