我面临着一个奇怪的情况。 在第一页加载时,以下代码正确显示给定坐标处的标记,并且 map 正确居中:
<div class="paddingtop">
<map data-ng-model="mymapdetail" zoom="11" center="{{item.coordinates}}" style="heigth:375px">
<marker position="[{{item.coordinates}}]" icon="./images/i.png" />
<control name="overviewMap" opened="true" />
</map>
</div>
正如您可能注意到的,在第一个标签中我不包含方括号,而方括号包含在第二个标签(标记)中。这样,标记就会显示出来。
当我重新加载页面或返回此页面时,标记不再存在。更准确地说, map 的中心位置正确,但标记位于地球上完全不同的位置(在非洲,而不是在迈阿密或其他美国城市)。
如果我在两者(中心和位置)上都包含括号,我会得到以非洲为中心的 map 以及标记(这意味着出了问题,就好像我打印了它们位于美国某个地方的坐标一样)。
这段代码有什么问题?
为了完整起见,我可以说这段代码工作正常:
<map data-ng-model="mymap" zoom="4" center="[38.50, -95.00]" style="heigth:375px">
<div ng-repeat="item in items">
<marker position="[{{item.coordinates}}]" icon="./images/i.png" on-click="showInfoWindow('mbar')" />
<info-window id="mbar" >
<div>
{{item.name}}
</div>
</info-window>
</div>
<control name="overviewMap" opened="true" />
</map>`
最佳答案
删除方括号可以解决问题,但这会引入一个新问题。 AngularJS and Maps API: stop prompting for computer's location
关于javascript - 重新加载页面后标记消失: AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28545365/