javascript - JS 中的变量是否为空?谷歌地图 API

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

我实际上正在努力使用 Google Maps API 显示位置。但纬度和经度的值是从我的database.mdf 文件中的表中获取的,然后分别解析为2 个隐藏字段。

我想问一下我写代码的方式,值是null吗?

我对 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中script标签下的代码

<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(纬度和经度)类中的值,这两个值是否为空?我似乎无法让 Google map 出现..

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

最佳答案

请尝试此代码。在 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')

并确保服务器端的纬度和经度值位于隐藏变量中。

关于javascript - JS 中的变量是否为空?谷歌地图 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45406504/

相关文章:

javascript - php post 无法使用 header 和 ajax 工作

javascript - 如何从 Visual Studios 2010 ASP.net 网站中的 javascript 调用 Visual Basic 函数?

android - 绘制类似 MapsApp 的叠加层

php - 从谷歌地图地址在数据库中插入地理坐标

javascript - focus() jQuery 函数在 Safari 中不起作用,但在所有其他浏览器上都能正常工作?

javascript - uibModal 嵌套不起作用

c# - 在一个解决方案中部署多个 Web 应用程序的最简单方法是什么?

google-maps - 在没有谷歌地图的情况下使用纬度/经度信息自动生成屏幕截图?

javascript - 如何在 d3 中为气泡图创建图例?传说没有出现

asp.net - 如果身份验证 cookie 是由服务器通过 SSL 发布的,它会被盗吗?