0

次のコードを使用して、Microsoft Dynamics CRM 2011 Online の住所に基づいて経度と緯度を返そうとしています。アドレスは正常に取得されていますが、以下のコードは機能していません。誰でも理由を理解するのを手伝ってくれませんか。

try
{
    var xHReq = new ActiveXObject("Msxml2.XMLHTTP");
    xHReq.Open("GET", "http://maps.google.com/maps/api/geocode/xml?sensor=false&address=" + address, false);
    xHReq.Send(null);

    var resultXml =xHReq.responseXML;
alert(resultXml);
    var addressComponents=resultXml.selectNodes("//GeocodeResponse/result/geometry/location");
    if (addressComponents != null && addressComponents.length > 0) 
    {
        var long = parseFloat(resultXml.selectSingleNode("//GeocodeResponse/result/geometry/location/lng").nodeTypedValue);
        var lat = parseFloat(resultXml.selectSingleNode("//GeocodeResponse/result/geometry/location/lat").nodeTypedValue);

        crmForm.all.address1_latitude.DataValue = lat;
        crmForm.all.address1_longitude.DataValue = long;
        alert(lat);

crmForm.all.address1_latitude.ForceSubmit = true;
        crmForm.all.address1_longitude.ForceSubmit = true;
        }

}

次のエラー メッセージが表示されます: 許可が拒否されました。

サイトが https://.

他の誰かが同じエラーに遭遇しましたか。

4

2 に答える 2

2

独自のコードがドメイン内にまだ存在しない場合、XMLHttpを使用してドメイン内のデータに到達することはできません(クロスドメイン制限)。コードはgoogle.comから提供されていないため、そのドメインのデータにアクセスすることはできません。

Javascriptの場合、Manoがコメントしているように、JavascriptAPIのジオコーディングサービスを使用します。基本的に、これはJSONを使用し、そのように制約されません。

于 2012-06-14T13:24:07.587 に答える
0

http://rubenb.home.xs4all.nl/latitudelongitude/latlon.htmlの URL にアクセスしてください。

住所を入力するだけで、住所を経度と緯度に変換します。次の形式を使用する限り、世界中の任意の住所を入力できます: 通り、都市、国、または通り、都市、州。家番号に属する経度と緯度を見つけることさえできます。経度または緯度をコピーして、GPS または経度/緯度を使用するプログラム (「poi エディター」や「IGo poi explorer」など) に貼り付けることができます。このサイトは、ナビゲーション ツールの Poi ファイルを作成する場合に非常に役立ちます。

このサイトは、Google のジオコーディング スクリプトを使用しています。ジオコーディングは、特定の場所の緯度と経度を推定するプロセスです。

于 2013-07-28T12:14:26.517 に答える