Jquery 谷歌地图标记随机消失

Jquery 谷歌地图标记随机消失,jquery,html,google-maps,google-maps-api-3,google-maps-markers,Jquery,Html,Google Maps,Google Maps Api 3,Google Maps Markers,我一直在为一个站点编写脚本,该站点有3个选择列表,一个用于度象限(纬度、经度)。其思想是,当用户选择一个度数象限时,它会提示他们是否要使用lat/long分钟的地图。如果他们选择加入,将显示一张地图,并且他们可以使用标记指示他们在该象限内的位置 问题是,有时更改“度”下拉列表时,标记将从地图中消失。现在,有时它看起来非常具体——一旦它在一个上失败了,它似乎永远都不起作用。但是如果你一直随机地改变周围的值,在某一点上,它会“松开”并再次工作,而其他的则会失败 在检查开发工具之后,google ma

我一直在为一个站点编写脚本,该站点有3个选择列表,一个用于度象限(纬度、经度)。其思想是,当用户选择一个度数象限时,它会提示他们是否要使用lat/long分钟的地图。如果他们选择加入,将显示一张地图,并且他们可以使用标记指示他们在该象限内的位置

问题是,有时更改“度”下拉列表时,标记将从地图中消失。现在,有时它看起来非常具体——一旦它在一个上失败了,它似乎永远都不起作用。但是如果你一直随机地改变周围的值,在某一点上,它会“松开”并再次工作,而其他的则会失败

在检查开发工具之后,google marker图标周围的div有时会放大到全宽,0高(显然接近光速),图像将从html中消失

更奇怪的是,在那些无法渲染的对象上,如果我在红色象限中单击,例如左上角,很多时候标记会按其应该的方式放置在那里。但是,当将象限中的标记拖向另一个角落时,它消失了——不应该有代码运行/处理拖动事件。我无法解释这一点

我有一个JSFIDLE来展示这个问题,如果有人能帮我找出问题所在,我将不胜感激。根据脚本,在设置标记位置后,我在控制台中验证它,它仍然显示为设置的内容,所以我不知道为什么它不工作

PS-请原谅我的JS代码,因为它目前是一个混沌理论的实验,同时试图让它工作

小提琴-

结果-

PSS-请在下面找到一个测试用例,至少对我来说,它再现了所有这些问题:

Select 25,82
Click use map
Select 25,81
Marker shown
Select 25,80
Marker gone
Select 24,80
Marker gone
Select 24,81
Marker shown
Select 24,80
Marker gone
Click in upper left corner
Drag marker towards right in red square
Marker disappears ~1/4 way in

在对Google Maps的API进行了深入研究之后,我得出结论,这似乎是Google Maps的实际v3脚本中的一个错误。我无法通过触发resize事件来重新绘制地图,更不用说我尝试过的任何其他方法了。最后,我不得不重新编写脚本,以便在“度”选择发生更改时丢弃贴图、标记、边界和矩形,并每次从头开始重建,以确保标记始终显示。很可怕,但除非这里的人/谷歌另有说明并提供修复方案,否则我就只能这样了。

在下拉列表更改后刷新地图。我不买它。一旦标记出现在地图上,它消失的唯一时间就是从下拉列表中选择前两个选项之一(24,-74或28,-75)-就是它(可能与负lng有关?)。你的代码中有一个错误,但它非常复杂-试图从中获得一个合理的、可复制的测试用例,除了你自己,对任何人来说都需要很长时间。@Adam实际上,我从下拉列表中删除了前两个条目,因为它们实际上不在系统中。在前两次输入时,系统强制lng为+,因此pin在地图上,但它位于行星的另一侧。另外,如果您遵循原始问题中的测试用例,您可以看到它确实发生在+lng上。此外,您可以单击该区域,显示pin,拖动它,然后它消失,而无需运行我的任何代码—我的代码中没有bug。另外,你能给出一个你为什么说“错综复杂”的原因吗?我总是乐于接受改进的想法。