自定义控件,用于从Google API中的某个点获取坐标

时间:2013-02-05 08:50:16

标签: javascript .net google-maps google-maps-api-3

我正在使用JavaScript Google API为我的网站制作地图(适用于平板电脑,而不适用于PC)

我从.NET doc获取所有标记;

我想制作一个新的自定义控件,当用户选择它时,他可以点击地图上的某个点并获取文本字段的坐标。

所以我知道如何制作一个新的控件,我知道如何点击地图中的某个点并获得坐标:

点击后,我会收到latlong

google.maps.event.addListener(map, "rightclick", function(event) {
    var latFromMap = event.latLng.lat();
    var lngFromMap = event.latLng.lng();
    // populate yor box/field with lat, lng
    document.getElementById("lat").value = latFromMap;
    document.getElementById("long").value = lngFromMap;
});

制作一个控件(将我们带回中心):

google.maps.event.addDomListener(outer, 'click', function() {
  map.setCenter(getcenter)
});

现在。我想连接它们。因此,只有当我点击控件时,我才能在某个时刻检查纬度/经度。

1 个答案:

答案 0 :(得分:1)

您可以按照here所述创建一个新的styledMapType(您不需要样式,只需创建mapType并将其添加到控件中)。

当您这样做时,您一次有2个结果,您的项目需要: 控件以及您可以每次检查以确定控件是否处于活动状态的属性 mapTypeId

然后应用点击很容易:

google.maps.event.addListener(map, 'click', function() {
  if(this.mapTypeId=='mapTypeIdOfTheStyledMap'){
    //execute click-action
  }
});

演示:http://jsfiddle.net/doktormolle/kbXGd/