Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 谷歌地图;“种植”;_Javascript_Jquery_Google Maps - Fatal编程技术网

Javascript 谷歌地图;“种植”;

Javascript 谷歌地图;“种植”;,javascript,jquery,google-maps,Javascript,Jquery,Google Maps,好吧,这听起来像个疯狂的问题,但我在一个网站上有一个谷歌地图(API v3),有时我在地图上有大量的标记。是否存在任何插件,或者编写一个插件(启动程序代码?)有多困难,可以让用户说点击控制+鼠标左键点击并按住,让他们“选择”地图的一部分。之后,当他们释放鼠标左键时,我可以启动一个功能,该功能可以更新我的谷歌地图以重置缩放,并且只在用户选择区域中包含标记 我真的很想试试这个,有没有人能给我一些建议或想法 更新 好吧,有可能吗?:) 我相信这是可能的,但我认为有一个更好的方法来解决您的问题,那就是使

好吧,这听起来像个疯狂的问题,但我在一个网站上有一个谷歌地图(API v3),有时我在地图上有大量的标记。是否存在任何插件,或者编写一个插件(启动程序代码?)有多困难,可以让用户说点击控制+鼠标左键点击并按住,让他们“选择”地图的一部分。之后,当他们释放鼠标左键时,我可以启动一个功能,该功能可以更新我的谷歌地图以重置缩放,并且只在用户选择区域中包含标记

我真的很想试试这个,有没有人能给我一些建议或想法

更新


好吧,有可能吗?:)

我相信这是可能的,但我认为有一个更好的方法来解决您的问题,那就是使用

对于裁剪,您可以:

  • 使用event addDomListener在地图上侦听“mousedown”。检查传递给处理程序的事件对象,查看是否按下了ctrl键(e.ctrlKey)

  • 将鼠标单击的x-y坐标转换为lat lng(在地图投影上使用fromPointToLatLng)。在该位置创建一个矩形

  • 在映射上添加addDomListener mousemove处理程序。在处理程序中,使用收边调整矩形的大小

  • 在映射上添加addDomListener mouseup处理程序。在处理程序中,获取矩形的边界,删除矩形并调用map.fitBounds


  • 我还没有尝试过上面的方法,但在所有这些输入之后,我建议先尝试集群,看看它是否满足您的需要。

    谢谢您的建议!群集选项对我不起作用,因为将标记减少到视口中的那些标记的目的是允许我生成静态地图图像,如果存在太多标记,则会超出URL限制。我最后做的是使用地图的“dragend”和“zoom_changed”事件,在每次点火时,只获取可视区域中的标记的函数。这样,我仍然可以将地图转换为图像,只需要用户放大到不超过限制的区域。