1

テーブルからデータを取得して、Google マップにプロットしようとしています。

私は動作する以下を使用しています...

function addPostCode(zip) {
            geocoder.geocode( { 'address': zip}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK)
            {
                map.setCenter(results[0].geometry.location);
                var marker = new google.maps.Marker({
                map: map,
                position: results[0].geometry.location,
                name: zip
            });
            markers.push(marker);
            } else {
                alert("Geocode was not successful for the following reason: " + status);
            }
            });
        }

たとえば、私の郵便番号が LA14 の場合にのみ、これをドイツでは la14 と呼ばれる道路としてプロットしますが、英国ではファーネスの手押し車とは対照的に、これを解決する方法について何か考えがある人はいますか?

4

1 に答える 1

1

あいまいな情報を渡しています。'London' を渡して、より人気のある 'London, United Kingdom' ではなく 'London, Canada' を取得しようとすると、同じことが起こります。

オプション 1 - すべての郵便番号が英国の場合:

に変更でき{ 'address': zip}ます{ 'address': zip + ', United Kingdom'}。これは、郵便番号が英国にあることを指定するだけです。カンマはオプションです。

オプション 2 - 一部のみが英国にある場合:

オプションのcountryパラメーターを関数に追加してから、あいまいな場合に「United Kingdom」を渡すことができます。

function addPostCode(zip, country) {

    var address;

    if (typeof(country) === 'undefined')  // no country passed
        address = zip;
    else
        address = zip + ', ' + country;

    geocoder.geocode({'address': address}, function(results, status) {
...

後で国際化する場合に備えて、値が英国のみであっても、オプション 2 を使用します。

于 2012-12-27T19:46:51.277 に答える