javascript对象属性未由setter

时间:2016-05-12 15:12:02

标签: javascript geolocation

以下是我遇到的问题:我需要构建一个应用程序,为您提供地理位置并获取您所在地区的天气。我遇到了一个我无法解决的地理位置问题。

我将所有内容放在我使用构造函数构建的“Place”对象中(我只在这里放置了构建将要显示的Google地图的URL的部分):

function Place() {

    this.mapURL = "#";

    this.setMapURL = function(location) {

        var lat = location.coords.latitude;
        var long = location.coords.longitude;

        this.mapURL = 'https://maps.googleapis.com/maps/api/staticmap?center=' + lat + ',' + long + '&zoom=12&size=300x300&sensor=false';
    };

    this.displayMap = function() {

        var map = new Image();
        map.src = this.mapURL;

        mapContainer.html('Retrieving your position...');
        mapContainer.html(map);
    };
}

在主代码中,我创建了一个Place对象,然后在这个对象上调用“getCurrentPosition”,该对象本身称为“setMapURL”:

var myPos = new Place();
navigator.geolocation.getCurrentPosition(myPos.setMapURL, error, geoOptions);

注意:“错误”和“地理选择”在其他地方定义。

我遇到的问题是“myPos”对象的属性“mapURL”没有得到更新。它的价值保持“#”。

我可能会想念这里但我真的找不到它。

如果您有任何想法,请告诉我们!

谢谢!

0 个答案:

没有答案