Как поместить список в данных viewbag в маркер javascript API? - PullRequest
0 голосов
/ 10 января 2019

У меня есть список, который называется Geolocations и содержит широты и долготы.

List<Geolocation> AllGeoLocations = new List<Geolocation>();

Класс геолокации:

public class Geolocation
    {
        public string Latitude { get; set; }
        public string Longitude{ get; set; }
    }

Я отправляю этот список в ViewBag с контроллера для просмотра.

Viewbag: ViewBag.GeoList = AllGeoLocations; В представлении под сценарием, в массиве маркеров, в пределах координат: {} Я хочу поместить значения широты и долготы, отправленные из контроллера с помощью Viewbag.

<script>
                    var map;
                    var src = 'https://s3-ap-southeast-1.amazonaws.com/cloudcreativeltd/Rail_Ex_RoW_my.kml';
                    function initMap() {
                        // Map options
                        var options = {
                            zoom: 12,
                            center: { lat: 23.6850, lng: 90.3563 }
                        }

                        // New map
                        var map = new google.maps.Map(document.getElementById('map'), options);
                        // Array of markers
                        var markers = [

                            {
                                coords: { lat:  , lng:   },
                                content: '<h1></h1>'
                            }

                        ];
</script>

1 Ответ

0 голосов
/ 10 января 2019

Попробуйте следующий подход, это может вам помочь. Примечание: я не проверял этот код (не выполнен)

< script >
var map;
var src = 'https://s3-ap-southeast-1.amazonaws.com/cloudcreativeltd/Rail_Ex_RoW_my.kml';

function initMap() {
// Map options
    var options = {
        zoom: 12,
        center: {
            lat: 23.6850,
            lng: 90.3563
        }
    }

    // New map
    var map = new google.maps.Map(document.getElementById('map'), options);
    // Array of markers

    var geoArray = @Html.Raw(Json.Encode(@ViewBag.GeoList));

    for (var i = 0; i < geoArray.length; i++) {
        var myLatLng = new google.maps.LatLng(geoArray[i].Latitude, geoArray[i].Longitude);
        var marker = new google.maps.Marker({
            position: myLatLng,
            map: map
        });
    }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...