任何人都可以帮我解决这个问题,我从服务器获取数据并进行foreach循环以使用gmap3获取谷歌地图中标记的所有坐标。
问题是它只在地图上显示1个标记,我尝试使用jquery / javascript'for'循环来显示数据,但无法知道如何操作。
任何帮助将不胜感激,我的代码在下面,减去jquery / javascript循环。
<script type="text/javascript">
var options = { center: [], zoom: 0 };
var value = { latLng: [] };
@foreach (var item in Model)
{
<text>
options.center.push(@item.DisplayLatLonInMap);
value.latLng.push(@item.DisplayLatLonInMap);
</text>
}
$("#WeatherMapLocation").gmap3({
//defaults: {
// classes: {
// Marker: MarkerWithLabel
// }
//},
//{
map: { options: options },
marker: { values: [value],},
});
</script>
/ ====================================
将代码更改为以下代码。但仍然没有运气,我在jquery等方面并不擅长
<script type="text/javascript">
$(document).ready(initialize);
var map;
var options = { center: [], zoom: 0 };
var value = { latLng: [] };
@foreach (var item in Model)
{
<text>
options.center.push(@item.DisplayLatLonInMap);
value.latLng.push(@item.DisplayLatLonInMap);
</text>
}
function initialize() {
var latlng = new google.maps.LatLng(42.354183,-71.065063);
var options = {
zoom: 0,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map($('#WeatherMapLocation')[0], options);
for( i = 0; i < value.length; i++) {
var latLng = new google.maps.LatLng(value);
var marker = new google.maps.Marker({
position: latLng,
map: map
});
}
}
提前致谢 乔治
答案 0 :(得分:0)
我不清楚你使用的jQuery语法。在for循环中,您没有指定数组位置。看看是不是问题。
for( i = 0; i < value.length; i++) {
var latLng = new google.maps.LatLng(value[i]);
var marker = new google.maps.Marker({
position: latLng,
map: map
});
}