MVC4/Razor与谷歌地图

MVC4/Razor with Google Maps

本文关键字:谷歌地图 Razor MVC4      更新时间:2023-09-26

我尝试在我的mvc4部分视图中显示googlemaps地图。它工作,如果我硬编码的纬度和经度在javascript -但我想使它更动态。所以我试图用变量代替长和晚。但我只有一个灰色的谷歌地图视图。这是我的代码。怎么了?有人能帮我修一下吗?

<br />
<div id="map_canvas" style="width: 640px; height: 480px;">
</div>
@{
var lat = 6.9167;
var lng = 79.8473;
}
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">     </script>
<script type="text/javascript">
$(document).ready(function () {
    initialize();
});
function initialize() {
    var mapOptions = {
        center: new google.maps.LatLng('@lat', '@lng'),
        zoom: 10,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"),
      mapOptions);
}
</script>  

Try with:

<br />
<div id="map_canvas" style="width: 640px; height: 480px;">
</div>
@{
var lat = "6.9167";
var lng = "79.8473";
}
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">     </script>
<script type="text/javascript">  
$(document).ready(function () {
    initialize();
});
function initialize(lat, lng) {
    var mapOptions = {
        center: new google.maps.LatLng(@lat, @lng),
        zoom: 10,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"),
      mapOptions);
}
</script>  

如果纬度和经度值以双精度存储到变量或属性中,由于区域性格式问题,应注意字符串转换。

我认为最好的解决方案是使用ToString("0.#####", CultureInfo.CreateSpecificCulture("en-GB"))方法,如:

var lat = Model.latitude.ToString("0.#####", CultureInfo.CreateSpecificCulture("en-GB"));