0

誰かが私を助けてくれるのではないかと思います。

このページでは、ユーザーはマップ上に配置されたマーカーを (チェックボックスを使用して) フィルタリングできます。任意のマーカーをクリックすると、「リバース ジオコード」アクションが実行され、[場所の検索] ボタンの選択と連動して、ユーザーはクリックしたマーカーの特定の半径内にある POI を表示できます。

デモ目的で、[コイン] チェックボックスを選択し、緑色のマーカーをクリックしてから [場所の検索] ボタンを選択すると、マーカーが跳ね返り、右側のサイドバーに POI が表示されます。

私が抱えている問題は、Internet Explorer ではすべて正常に動作することですが、これを Chrome で実行しようとすると、マーカーの「バウンス」機能が失われ、「逆ジオコード」が実行されず、受け取ったエラー コンソールに表示されます。次のエラー:

Uncaught ReferenceError: reversegeocode is not defined私のコードの55行目: reversegeocode();私はこのサイトや他のサイトでいくつかの読書を行い、ガイダンスを読んで、コードのこの部分を次のように変更しようとしました:

function geocodePosition(pos) {
    var clickListener =
    document.getElementById('findosgb36lat').value = this.mylat;
    document.getElementById('findosgb36lon').value = this.mylon;
    document.getElementById('address').value = this.myaddress;
    if(bouncingMarker) 
        bouncingMarker.setAnimation(null); 
        if(bouncingMarker != this) { 
            this.setAnimation(google.maps.Animation.BOUNCE); 
            bouncingMarker = this; 
        }
        else bouncingMarker = null; 
    }

    geocoder.geocode({latLng: pos }, function(responses) {
        if (responses && responses.length > 0) {
            updateMarkerAddress(responses[0].formatted_address);
        } else {
            updateMarkerAddress('Cannot determine address at this location.');
        }
    });
}

function updateMarkerAddress(str) {
    document.getElementById('address').value = str;
}

function getAddress(latlng) {
    if (!geocoder) {
        geocoder = new google.maps.Geocoder();
    }

    geocoder.geocode({ 'latLng': latlng }, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            // Looping through the result
            for (var i = 0; i < results.length; i++) {
                if (results[0].formatted_address) {
                    document.getElementById('address').value = 
                        results[0].formatted_address;
                } 
            }
        }
    }
)
}

しかし残念ながら、これは機能せず、実際には構文エラーによる問題がさらに発生します。

私はJavascriptに比較的慣れていないので、おそらく完全に誤解しています. しかし、誰かがこれを見て、どこが間違っているのか教えてください。

多くの感謝と親切な敬意

4

1 に答える 1