3

我有以下函数(取自Elevation Service @ Google Maps API),例如63.00425720214844,当我单击使用Google Maps JavaScript API v3创建的地图上的某个位置时,该函数会输出:

function getElevation(event) {
    var locations = [];
    var clickedLocation = event.latLng;
    locations.push(clickedLocation);

    var positionalRequest = {
        'locations': locations
    }

    elevator.getElevationForLocations(positionalRequest, function(results, status) {
        if(status == google.maps.ElevationStatus.OK) {
            var s = results[0].elevation
            if(results[0]) {
                alert(s.substring(0, s.indexOf('.') - 1));
            } else {
                alert('Inget resultat hittades');
            }
        } else {
            alert('Det gick inte att hitta höjdskillnaden på grund av följande: ' + status);
        }
    });
}

我想删除点之后的所有内容,包括点,例如 remove .00425720214844from63.00425720214844但是当我单击地图上的某个位置时,我在控制台中收到此错误消息:Uncaught TypeError: Object 63.00425720214844 has no method 'indexOf'.

我做错了什么?

提前致谢。

4

2 回答 2

7

该变量s不包含字符串。

您可以使用以下方法将其转换为字符串:

s = s.toString();

如果它是一个数字,您可以只使用数字函数:

alert(Math.floor(s));
于 2012-04-12T23:38:20.090 回答
5

只需执行 javascriptparseInt(63.00425720214844)即可获得 63。

于 2012-04-12T23:36:53.613 回答