【问题标题】:google map dynamically put mark on map for my listbox (city, town) selection谷歌地图为我的列表框(城市,城镇)选择动态地在地图上放置标记
【发布时间】:2009-08-21 09:31:05
【问题描述】:

我正在开发一个房地产门户网站。我需要用 gMap 来实现:/

我有一个动态列表框,我需要谷歌地图在地图上动态标记我的城市和城镇选择...

感谢帮助!谢谢

alt text http://img.skitch.com/20090821-txmaw93yjt5ua197t41f6k1e3u.jpg

【问题讨论】:

  • 你试过了吗?一些代码给我们看?

标签: php javascript google-maps


【解决方案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 };

如果你有上述值,你可以使用以下函数来拥有谷歌地图。

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;
}

【讨论】:

    【解决方案2】:

    我会推荐使用这个扩展(JS 库): http://www.pixeldevelopment.com/pdmarker.asp

    对于坐标,您需要通过 google API 进行地理编码,以获取所需城市的正确坐标。

    【讨论】:

      【解决方案3】:

      这是向地图添加标记的最简单方法。

      var point = new GLatLng(40,10);
      var marker = new GMarker(point);
      map.addOverlay(marker);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-16
        • 1970-01-01
        • 2013-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多