我把yandex地图(俄罗斯版谷歌地图)放在我的视图上。但是气球的位置和坐标不匹配!
代码如下:
示例#1 -气球显示不正确
<script type="text/javascript">
ymaps.ready(init);
var myMap,
myPlacemark;
function init() {
myMap = new ymaps.Map("map", {
center: [55.76, 37.64],
zoom: 10
});
@foreach (var person in Model)
{
<text>
console.log('Service = @person.ServiceName, x = @person.CoordinateX, y = @person.CoordinateY');
myPlacemark = new ymaps.Placemark([@(person.CoordinateX), @(person.CoordinateY)], {
hintContent: '@(person.ServiceName)',
balloonContent: '@(person.CoordinateX), @(person.CoordinateY)'
});
myMap.geoObjects.add(myPlacemark);
</text>
}
}
</script>
但是如果我把它改成常量(而不是在循环"foreach"中),一切都是正常的:
示例#2-气球显示正确
<script type="text/javascript">
ymaps.ready(init);
var myMap,
myPlacemark;
function init() {
myMap = new ymaps.Map("map", {
center: [55.76, 37.64],
zoom: 10
});
myPlacemark = new ymaps.Placemark([55.871030, 37.658510], {
hintContent: 'hint',
balloonContent: 'content'
});
myMap.geoObjects.add(myPlacemark);
myPlacemark = new ymaps.Placemark([55.782392, 37.614924], {
hintContent: 'hint',
balloonContent: 'content'
});
myMap.geoObjects.add(myPlacemark);
}
</script>
注意:在示例#1在控制台我得到正确的值:
Service = something1, x = 55,87103, y = 37,65851
服务= something2, x = 55,782392, y = 37,614924
但是气球的位置与坐标不匹配:
地图上气球位置不正确
我们发现问题出在ASP。Net输出发布的代码片段中的数字。它们被打印到JS代码中,用浮动的逗号代替点。