1

私はここで本当にばかげた何かが欠けていると思います...基本的に、これを使用してpostocde(ちょっと無関係)で場所の座標を取得しようとしています:

            geocoder.geocode({address: address}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                onPostcodeLocation(results[0].geometry.location);
            } else {
                alert(address + ' not found');
            }

したがって、これは緯度/経度の値を OnPostcodeLocation() に渡します。

        function onPostcodeLocation(position) { 
          var positionVar = position;
          positionArray = position.split(",");
          alert(positionArray[0]);
      }

ここで、onPostcodeLocation() の最初の行で「位置」を alert() すると、正しい値が警告されますが、上記のように、値を個別の変数に分割しようとしています。alert(positionArray[0]); を配置しようとしています。何もしません...私が間違っていることは何ですか????

ありがとう

4

1 に答える 1

3

ドキュメントをざっと見てみると、locationプロパティが文字列や配列ではなく、オブジェクトであることがわかりました。

location : {
    "lat" : 37.42291810,
    "lng" : -122.08542120
}

したがって、明らかに、分割は機能しません。ちょうどalert(position.lat)またはalert(position.lng)。また、暗黙のグローバル変数にうんざりしてください。関数で変数を使用するときは、常に最初に宣言してください。宣言しすぎないよりも、宣言しすぎた方がよいでしょう。

于 2012-08-01T15:00:16.387 に答える