2011-06-19 64 views
0

我遇到了流行的安全沙箱衝突......crossdomain.xml的 - 無法訪問谷歌的地理編碼API

我使用谷歌地圖API的Flex,現在我要訪問的谷歌地理編碼API。爲此,我使用HTTPService:

<s:HTTPService id="geo_req" url="http://maps.googleapis.com/maps/api/geocode/xml?address={i_address}" result="geo_req_resultHandler(event)" /> 

但我得到沙盒安全侵犯。所以我創建的crossdomain.xml爲:

<cross-domain-policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd"> 
<allow-access-from domain="*" secure="false" /> 
<allow-http-request-headers-from domain="*" headers="*"/> 
</cross-domain-policy> 

我使用WAMP服務器,並可以通過鍵入http://localhost/crossdomain.xml ... 我仍然無法訪問該網址訪問該文件。

我該如何擺脫這個?

回答

0

您需要將CrossDomain.xml文件放在您要發送請求的域之間。

+0

@SLaks,在谷歌? – vettipayyan

+0

是的。 – SLaks

+0

我該怎麼辦?你會解釋...(我是無知的嗎?還是你在開玩笑?) – vettipayyan

0

爲什麼不使用現有的類ClientGeoCoder來對您的地址進行地址解析,而不是向Google網站發出HTTP請求?

您是否成功在此鏈接上運行示例:http://code.google.com/p/gmaps-samples-flash/source/browse/trunk/samplecode/GeocodingSimple.mxml

+0

我做到了。我已經使用ClientGeocoder。我們可以從中獲取地址詳細信息,但我的要求是'location_type'。我無法從Placemark獲得它。如果你知道,你可以在這裏發佈它.... – vettipayyan

+0

嗯,我認爲你不能使用常見的地理編碼API的Flash由於安全問題(因爲你不能把你自己的crossdomain.xml文件到谷歌服務器肯定)。如果您無法從ClientGeocoder獲取location_type,請考慮通過JavaScript請求它並將其反饋到Flash –

+0

ya ya。這就是我現在要做的。但Flash Developer在運行應用程序時每次都會刪除插入的代碼。 (誰,我真的很累....) – vettipayyan