如何获得功能价值?

时间:2016-05-10 05:48:37

标签: javascript

我想获得一些函数的返回值。

脚本

navigator.geolocation.getCurrentPosition(function(position) {
    var latitude = positon.coords.latitude;   // I want to return this
});

var mapContainer = document.getElementById('map'),
    mapOption = { 
        center : new daum.maps.LatLng(***I need latitude here***),
        level : 3
    };

var map = new daum.maps.Map(mapContainer, mpOption);

/脚本

实际上,这是我的代码,但我不想要这个。我只想要返回值。

navigator.geolocation.getCurrentPosition(function(position) {
    var mapContainer = document.getElementById('map'), 
        mapOption = {
            center : new daum.maps.LatLng(position.coords.latitude,
                                      position.coords.longitude), 
            level : 3
        };

    var map = new daum.maps.Map(mapContainer, mapOption);
});

Image

1 个答案:

答案 0 :(得分:0)

我已复制粘贴您的示例并尝试执行它。几乎没有什么基本错误。首先请正确关闭大括号。

navigator.geolocation.getCurrentPosition(function(position) {
    var latitude = positon.coords.latitude;   // I want to return this
});  

您已撰写)}而不是})

然后主要问题是var latitude = positon.coords.latitude;行中位置的拼写错误。你应该写下你在函数中传递的任何内容,并且你已经通过了position

纠正这两个问题,你的代码会起作用。

带警报的示例代码段。

var latitude;
navigator.geolocation.getCurrentPosition(function(position) {
        latitude = position.coords.latitude;   // I want to return this
        alert("Current latitude is : " + latitude);
    });

在控制台中运行此代码,您应该获得具有纬度值的警报。

以下是您的代码段。看看这是否适合你。我刚刚在函数范围之外声明了position变量,以便您以后可以访问/使用它。

var latitude = 0; // Initial value of latitude variable
navigator.geolocation.getCurrentPosition(function(position) {
    latitude = position.coords.latitude;   // Here you are setting the exact value of latitude
});

var mapContainer = document.getElementById('map'),
    mapOption = { 
        center : new daum.maps.LatLng(latitude),
        level : 3
    };

var map = new daum.maps.Map(mapContainer, mapOption);