3

たとえば、 Google Maps JavaScript API v3で作成したマップのどこかをクリックすると出力される次の関数 ( Elevation Service @ Google Maps APIから取得) があります。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);
        }
    });
}

たとえば remove .00425720214844fromのように、ドットを含むドットの後のすべてを削除したいのです63.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

parseInt(63.00425720214844)63 を取得するには、JavaScript を実行するだけです。

于 2012-04-12T23:36:53.613 に答える