Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从地图上绘制的正方形中获取lon lat或在地图上可视化一个圆_Javascript_Google Maps_Google Maps Api 3_Maps - Fatal编程技术网

Javascript 从地图上绘制的正方形中获取lon lat或在地图上可视化一个圆

Javascript 从地图上绘制的正方形中获取lon lat或在地图上可视化一个圆,javascript,google-maps,google-maps-api-3,maps,Javascript,Google Maps,Google Maps Api 3,Maps,有人知道是否有可能在(谷歌)地图上画一个正方形,并让这个正方形的左上角和右下角用各自的长度和格度预先填充地图外的4个表单字段吗 备选方案: 如果上述方法不可行,是否可以让用户单击地图并从该坐标中拉出,创建半径增大的圆 在这两个选项中,正方形或圆形都需要在屏幕上显示(地图覆盖?) 正在寻找一种简单而干净的解决方案,供用户选择地图上的某个区域,以便基于lat-lon数据探测数据库。谷歌地图JavaScript API V3允许地图对象通过实现MVC对象来存储状态并自动更新其表示 其中两个可能会让你对

有人知道是否有可能在(谷歌)地图上画一个正方形,并让这个正方形的左上角和右下角用各自的长度和格度预先填充地图外的4个表单字段吗

备选方案:

如果上述方法不可行,是否可以让用户单击地图并从该坐标中拉出,创建半径增大的圆

在这两个选项中,正方形或圆形都需要在屏幕上显示(地图覆盖?)


正在寻找一种简单而干净的解决方案,供用户选择地图上的某个区域,以便基于lat-lon数据探测数据库。

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

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

这些是和

这两个示例并使用这些覆盖图,您可以将其用作项目的基础

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

SQL查询应该如下所示

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

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

我有一个旧的演示,它可能会满足您的需要,但它是用v2api制作的。您必须将其转换为V3:


希望stack overflow本身提出的这个问题能够帮助您@marcelo我已经尝试过了,但它非常难看,不便于用户使用,而且代码是由javascript和php交织而成的混乱代码。哦。。看起来不错。感觉我已经走了一半了。我已经建立了一个疯狂的装置[这里](),但是如果我能以某种方式在4个表单字段的两个角上获得4个坐标(lat,lon | lat,lon),我们就有了赢家。有什么建议可以将其与上面的矩形覆盖示例联系起来吗?我运行了您的演示并查看了源代码。由于您有左上角和右下角,您可以将它们用于其他角
topright“51.97800031536022 5.39056758918241”//lat顶部和lng底部左下角51.75263294955848 5.1345982838458895“//底部高度和顶部液化天然气高度
。我希望你能理解这一点。我确实理解你所说的,但只需要两个相对的角-每个角都有各自的lat/lon数据-创建4个数据点。(它们是哪个对角并不重要)。我只是在寻找用户最轻薄的选项(imho将作为矩形示例的附加组件)。只是想知道如何从您的示例中推断数据,以便在用户点击“确认”按钮(表单字段)后,我可以使用它查询数据库。SQL查询
SELECT*from table,其中lat介于51.97800031536022和5.1345982838458895之间,lon介于51.75263294955848和5.39056758918241之间。很明显,坐标是从地图上取的。最终结果是。大卫的样本为我指明了正确的方向。有关工作版本,请参阅。演示也不错。。但我在你的帖子到来之前就完成了我的任务。谢谢你的努力。改进/意见欢迎:
SELECT * FROM table WHERE lat BETWEEN lat1 AND lat2  AND lng BETWEEN  lon1 AND lon2