我的变量在JS中是否为null? Google Maps API

时间:2017-07-31 01:56:16

标签: javascript asp.net google-maps google-maps-api-3 null

我实际上正在使用Google Maps API显示位置。但纬度和经度的值取自我的database.mdf文件中的表,然后分别解析为2个HiddenField。

我想问一下我编写代码的方式,值是否为空?

我对JavaScript没有多少经验..

图片/代码在底部说明..

从我的page.aspx.cs文件中,我将HiddenFields值分别设置为纬度和经度。

foreach (DataRow r in ds.Tables[0].Rows)
        {
            accountDB = r["AccountStatus"].ToString();
            latitudeDB = Convert.ToDouble(r["Latitude"]);
            longitudeDB = Convert.ToDouble(r["Longitude"]);
            usernameDB = r["Username"].ToString();
            ipDB = r["IPAddressOfCreation"].ToString();
        }
HF_Latitude.Value = latitudeDB.ToString();
        HF_Longitude.Value = longitudeDB.ToString();

page.aspx中脚本标记下的代码

<div id="generatedMap" style="width: 525px; height: 300px; background-color: grey;"></div>
                <script type="text/javascript">
                    function initMap() {
                        var latitudeDB = parseFloat(document.getElementById("<%= HF_Latitude.ClientID %>").value);
                        var longitudeDB = parseFloat(document.getElementById("<%= HF_Longitude.ClientID %>").value);

                        var mapProp = {
                            zoom: 15,
                            center: new google.maps.LatLng(latitudeDB, longitudeDB),
                            mapTypeId: google.maps.MapTypeId.HYBRID,
                        };

                        var map = new google.maps.Map(document.getElementById("generatedMap"), mapProp);

                        var marker = new google.maps.Marker({
                            position: new google.maps.LatLng(latitudeDB, longitudeDB),
                            map: map,
                            title: "<div style = 'height:50px;width:120px'><b>Consumer's location:</b><br />Latitude: " + latitudeDB + "<br />Longitude: " + longitudeDB,
                        });
                    }
                </script>
                <script src="https://maps.googleapis.com/maps/api/js?key=GOOGLE_API_KEY&callback=initMap"></script>

我解析为new.google.maps.Latlng(纬度和经度)类的值是否为空2?我似乎无法显示Google地图..

我的数据库中存储的坐标是float数据类型。

1 个答案:

答案 0 :(得分:1)

请尝试此代码。在html中,您将div class设置为属性,而在java脚本中,您将检索为Id属性,这样就会出现谷歌地图未出现的问题。

代替:

<div class="generatedMap"></div>

应该是:

<div id="generatedMap"></div>

Javascript代码将保持不变。如果你想保持课程,那么在javascript中使用打击代码

代替:

var map = new google.maps.Map(document.getElementById('generatedMap')

应该是:

var map = new google.maps.Map(document.getElementsByClassName('generatedMap')

并确保从服务器端lat&amp; lng值来自隐藏变量。