【发布时间】:2018-01-25 09:49:11
【问题描述】:
我正在尝试在我的一个屏幕上使用谷歌地图。我可以在 window.onload 期间加载 Google 地图。该脚本在我的 site.js 文件中。然后我想为每辆自行车显示所有最后的位置(如果有的话)。我一直在搜索网络和这个论坛,但我能找到一个可以帮助我前进的答案。根据我所阅读的内容,这应该可以工作,但是当我使用断点时,永远不会调用函数 ShowLocation。任何帮助表示赞赏
@model AccountViewModel
<script type="text/javascript">
function ShowLocation(lt, lng) {
var googleLatLong = new google.maps.LatLng(lt, lng);
var markerOptions = {
position: googleLatLong,
map: map,
clickable: true
};
var marker = new google.maps.Marker(markerOptions);
}
</script>
<div>
<h2> bicycle Locations </h2>
</div>
<div id="map" class="col-md-8 col-sm-6">
Map Loading....
</div>
@foreach (var bicycle in Model.Bicycles)
{
int i = 0;
if (bicycle.LastLocationID != 0)
{
var location = Model.LastKnowLocations.FirstOrDefault(l =>
l.ID == bicycle.LastLocationID);
var lattitude = location.Latitude;
var longitude = location.Longitude;
<script type="text/javascript">
ShowLocation(lattitude, longitude)
</script>
}
}
【问题讨论】:
-
当你调用函数时删除“function”关键字。 “function ShowLocation(lattitude, longitude)”应该是“ShowLocation(lattitude, longitude);”
-
嗨,谢谢,这是一个错误。不知道它怎么会在那里。但是,它并不能解决问题。跳过java代码。
-
我发现了问题。由于某种原因,当使用 google map API 中的函数定位当前用户位置时 navigator.geolocation.getCurrentPosition(displayLocation, displayError);它具有忽略javascript的效果。 displayLocation 函数不调用它。因此,尝试在稍后阶段添加被忽略的 javascript 标记。因此,当我不使用该功能时,代码有效。我无法解释为什么在另一种情况下会忽略 java 脚本。
标签: javascript razor asp.net-core-mvc