【问题标题】:Visual Studio Visual Studio MVC asp.NET Google MapVisual Studio Visual Studio MVC asp.NET 谷歌地图
【发布时间】:2016-04-08 13:15:19
【问题描述】:

如何在我创建的地图上显示标记? .Marker("1.2233424, 4.865876) 对我不起作用?

@using Jmelosegui.Mvc.GoogleMap
<div class="row">
     <div class="col-md-12">
          @(Html.GoogleMap()
             .Name("map")
             .Height(400)
             .Width(700)
           )
     </div>
</div>

【问题讨论】:

    标签: c# asp.net asp.net-mvc visual-studio google-maps


    【解决方案1】:

    为了在同一张地图上获得多个标记,您需要使用 bounds 方法。此示例使用 javascript。

    HTML

    <div itemprop="map" id="googleMap" style="height:400px;width:100%;"></div>
    
    
                    <script src="https://maps.googleapis.com/maps/api/js"></script>
    

    Javascript

    var myCenter = new google.maps.LatLng(YourLat, YourLng);
    var myCenter2 = new google.maps.LatLng(YourSecondLat, YourSecondLng);
    
    function initialize() {
        var bounds = new google.maps.LatLngBounds(myCenter, myCenter2);
        var mapProp = {
            zoom: 12,
            scrollwheel: false,
            draggable: false,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
    
        var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
    
        var marker = new google.maps.Marker({
            position: myCenter,
            map: map,
        });
        var marker2 = new google.maps.Marker({
            position: myCenter2,
            map: map,
        })
        map.fitBounds(bounds);
    }
    
    google.maps.event.addDomListener(window, 'load', initialize);
    

    map.fitBounds(bounds) 只会在标记之间居中地图,因此所有标记都将显示在屏幕上。

    【讨论】:

    • 非常感谢 :)
    【解决方案2】:

    你的语法是错误的。你需要使用

    .Markers(m =&gt; m.Add().Title("Hello World!"))

    查看the documentation了解更多信息

    【讨论】:

    • 非常感谢,如果我想添加多个标记来显示欧洲的城市,我该如何实现?
    • 你继续添加标记
    • .Markers(m => m.Add().Title("long", "lat")) .Markers(m => m.Add().Title("long1", " lat1")) .Markers(m => m.Add().Title("long3", "lat3")) 那么我可以继续添加几个这样的标记吗?
    【解决方案3】:

    您需要添加.Center(c =&gt; c.Latitude(1.2233424).Longitude(4.865876))

    Html.GoogleMap()
                .Name("map")
                .Height(300)
                .Center(c => c.Latitude(1.2233424)
                              .Longitude(4.865876))
                .Markers(m => m.Add().Title("Hello World!"))
    

    来源:jmelosegui docs

    【讨论】:

    • 非常感谢,如果我想添加多个标记来显示欧洲的城市,我该如何实现?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多