0

ビューに yandex マップ (Google マップのロシア版) を配置しました。しかし、バルーンの位置が座標と一致しません!

コードは次のとおりです。

例 #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 では、正しい値が得られます。

サービス = 何か 1、x = 55,87103、y = 37,65851

サービス = 何か 2、x = 55,782392、y = 37,614924

しかし、気球の位置は座標と一致しません:

マップ上の気球の位置が正しくない

4

1 に答える 1