【发布时间】:2012-04-12 23:34:26
【问题描述】:
我有以下函数(取自Elevation Service @ Google Maps API),当我单击我用Google Maps JavaScript API v3 创建的地图上的某个位置时,它会输出例如63.00425720214844:
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);
}
});
}
我想删除点之后的所有内容,包括点,例如从63.00425720214844 中删除.00425720214844,但是当我单击地图上的某个位置时,我在控制台中收到此错误消息:Uncaught TypeError: Object 63.00425720214844 has no method 'indexOf'。
我做错了什么?
提前致谢。
【问题讨论】:
-
我不知道它打印
63.00425720214844。 -
我已经阅读了这个问题和答案。
-
顺便说一句,您可能会考虑将 s = ... 赋值向下移动 1 行,否则您在访问它之后会检查 results[0]。
-
console.log(typeof s)或console.dir(s)告诉你什么?
标签: javascript indexof