0

我把 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 中,我得到了正确的值:

服务 = something1,x = 55,87103,y = 37,65851

服务 = something2,x = 55,782392,y = 37,614924

但气球的位置与坐标不匹配:

地图上的气球位置不正确

4

1 回答 1

0

我们发现问题出在 ASP.Net 在发布的代码片段中输出数字的方式上。它们用浮动逗号而不是点打印到 JS 代码中。

于 2016-08-26T14:35:22.930 回答