1

有谁知道是否可以在(谷歌)地图上绘制一个正方形,并让这个正方形的左上角和右下角用它们各自的经度和纬度预先填充地图外的 4 个表单域

选择 :

如果上述方法不可行,是否可以让用户单击地图并远离该坐标,创建一个半径增加的圆?

在这两个选项中,正方形或圆形都需要在屏幕上可视化(地图叠加?)。

为用户寻找一种简单而干净的解决方案,以便在地图上选择一个区域,以便可以根据经纬度数据探测数据库。

4

2 回答 2

1

我有这个旧的演示,它可能会做你想做的事,但它是用 V2 API 制作的。您必须将其转换为 V3:

http://maps.forum.nu/gm_drag_polygon.html

于 2012-10-31T06:18:44.333 回答
1

Google Maps JavaScript API V3 允许地图对象通过实现 MVC 对象来存储状态并自动更新其表示。

其中两个可能会让您对您的项目感兴趣。

这些是 矩形覆盖圆形覆盖

这 2 个SAMPLES RectangleCircle使用这些叠加层,您可以将其用作项目的基础。

然后可以使用下面的坐标来搜索数据库。(使用 AJAX)

var latLngBounds = new google.maps.LatLngBounds(
      marker1.getPosition(),
      marker2.getPosition()
    );

SQL 查询应如下所示

SELECT * FROM table WHERE lat BETWEEN lat1 AND lat2  AND lng BETWEEN  lon1 AND lon2

您还应该考虑将 PDO与准备好的语句一起使用。

于 2012-10-28T15:58:32.070 回答