objectliteral position是一个类型的实例?

时间:2015-12-24 08:21:26

标签: javascript dom google-maps-api-3 javascript-objects prototypal-inheritance

在下面的视觉中,

enter image description here

对象文字geolocation位于navigator(即navigator.geolocation)的上下文中,但根据以下代码,

<script src="http://maps.googleapis.com/maps/api/js" type="text/javascript">
            </script>
            <script  type="text/javascript">
                    function showLocation(){
                        if(navigator.geolocation){
                            navigator.geolocation.getCurrentPosition(showPosition);
                        }else{
                            alert('geo location is not supported');
                        }
                    }

                    function showPosition(position){
                        console.log(Object.prototype.toString.call(position));
                        var mapProp = {
                            center: new google.maps.LatLng(position.coords.latitude, position.coords.longitude),
                            zoom: 5,
                            mapTypeId: google.maps.MapTypeId.ROADMAP
                          };                
                        new google.maps.Map(document.getElementById("googleMap"), mapProp);
                    }
            </script>
<p> Click below to get your geo location</p>
        <button onclick="showLocation();">Click</button>
        <div id="googleMap" style="width:500px;height:380px;border: 1px solid red;"></div>

在调试过程中,positionPosition类型的实例,如下所示。

enter image description here

我在Position和谷歌api http://maps.googleapis.com/maps/api/js中都看不到navigator

1)Position(上限为p)的上下文是什么?它是函数构造函数还是对象文字?

2)coords中的成员列表(例如Position)是什么?

1 个答案:

答案 0 :(得分:0)

好像你可能会将google api与浏览器中内置的导航器api混淆。传递到showPosition函数的位置参数不是来自谷歌,因此不会出现在谷歌API规范中。所以回答你的问题:

1)position而不是Position是Geoposition Constructor的一个实例,它使它成为一个对象。

2)position有以下成员:coords&amp; timestamptimestamp是一个数字,表示当前时间(以毫秒为单位)。 coords本身就是一个Object(Coordinates Constructor的实例),它有自己的成员,如下所示:accuracyaltitudealtitudeAccuracyheading,{{1 },latitudelongitude

希望有所帮助。