5

简而言之
,我想找到位于通过在地图上拖动鼠标创建的矩形区域内的所有标记。任何 jQuery 插件或其他东西是否支持此功能?如果没有,我想在我的项目中实现它。我认为这会很酷。

详细信息
我使用 Google Maps v2 是因为我想在我的项目中支持 IE 6。

我是地图的初学者,浏览了开发人员指南部分以及一些基本演示和其他 SO 问题。

到目前为止,这是我的想法-

总结
这里再次是我的问题-

  • 如何在地图上显示矩形选择区域?(外观一般呈浅灰色透明)

  • 如何获取单击点的纬度/经度(纬度/经度),然后将其扩展以获取选择起点和终点的纬度/经度。

我有 jQuery 经验,如果有一些 jQuery 插件不错的解决方案,请告诉我。我看到了10 个 jQuery Plugins for Easier Google Map Installation的列表,但不确定这些插件是否能帮助我满足我的要求。

当我有标记列表时,我想在单独的显示部分中填充一些相关信息,以便每次用户选择一些标记时,相应的信息都会显示在显示部分中。那部分应该更容易。

谢谢

4

1 回答 1

4

您可以查看Google Maps API Demo Gallery下的KeyDragZoom 示例来实现矩形选择功能。您可以在此处找到文档。

对于第二个问题,您可以使用GLatLngBounds类及其containsLatLng(latlng:GLatLng)函数。通过将您的GLatLngBounds对象设置为矩形的边界,您可以使用containsLatLng函数测试您的标记。

如果您决定使用 KeyDragZoom,向 中添加一个dragend侦听器getDragZoomObject将为您提供一个GLatLngBounds对象,您可以使用该对象通过 containsLatLng 函数测试您的标记。

map.enableKeyDragZoom();
var dz = map.getDragZoomObject();
GEvent.addListener(dz, 'dragend', function (bnds) {
  // test your markers against bnds here
});
于 2011-05-09T06:51:04.080 回答