2014-01-16 133 views
-1

另一個HTTP請求我與Windows手機應用程序的工作,我在這裏使用其餘Places API的爲我的數據,我檢索數據的JSON給我有關位置附近這樣呼籲改變

position: [ 37.77704 , -122.39494 ] 
distance: 1241 
title: Caltrain-San Francisco 
averageRating: 0.0 
category: { Public transport } 
icon: http://download.vcdn.nokia.com/p/d/places2/icons/categories/11.icon 
vicinity: 700 4th St<br/>San Francisco, CA 94107 
having: [ ] 
type: urn:nlp-types:place 
href: http://demo.places.nlp.nokia.com/places/v1/places/8409q8yy-a7395cccbfc4474ba469f3ddc03e041b;context=Zmxvdy1pZD00OWQxZDY0Zi0zODc5LTVlNDAtOWY4ZC04ZGFmNWMyMGZhZDFfMTM4OTg4NDQxMzUxNV8wXzM1MjkmcmFuaz0w?app_id=lp3VaO8uhOFe0akZ4J1m&app_code=JwL7MNaSarML92oqEDshAg 
id: 8409q8yy-a7395cccbfc4474ba469f3ddc03e041b 

而且我注意到,如果我打開

href: http://demo.places.nlp.nokia.com/places/v1/places/8409q8yy-a7395cccbfc4474ba469f3ddc03e041b;context=Zmxvdy1pZD00OWQxZDY0Zi0zODc5LTVlNDAtOWY4ZC04ZGFmNWMyMGZhZDFfMTM4OTg4NDQxMzUxNV8wXzM1MjkmcmFuaz0w?app_id=lp3VaO8uhOFe0akZ4J1m&app_code=JwL7MNaSarML92oqEDshAg 

我將進入包含有關該位置儘可能詳細的信息其他網頁,所以,我怎麼能得到所有這些數據?從HREF

常規和詳細數據 我用得到的一般數據

方法就是採用這種

WebClient client = new WebClient(); 
Uri uri = new Uri(transportURL1 + latitude + "%2C" + longitude + transportURL2, UriKind.Absolute); 
client.DownloadStringCompleted += (s, e) => 
{ 
    if (e.Error == null) 
    { 
     RootObject result = JsonConvert.DeserializeObject<RootObject>(e.Result); 
         hereRestProperty = new ObservableCollection<Item>(result.results.items); 
    } 
    else 
    { 
     MessageBox.Show(e.Error.ToString()); 
    } 
}; 
client.DownloadStringAsync(uri); 

所以我的應用場景炫魅顯示一般的位置數據,當我點擊包含從HREF信息的位置數據,將導航到detailpage之一

該怎麼辦?

編輯:我的工作就是尋找href和使用HREF調用http請求,但我不知道怎麼做的一切......

EDIT2:環顧四周後,我拿出有炫魅的想法與一般信息列表,如果我點擊到列表中的項目之一,它會導航到詳細信息頁面,將請求從該href,但我只是不知道如何執行,在mvvm aproach ...

+0

您從查詢返回到服務的數據完全由提供數據的人員/公司/網站定義。您需要聯繫他們或查看他們的API文檔。 – Steve

+0

嗯,我的意思是如何獲得href並將其作爲另一個http請求 –

+0

您想自己發送HTTP請求,還是將它傳遞給瀏覽器以便爲用戶打開? – Steve

回答

1

如果假設您試圖通過添加地點功能來爲應用增加價值是安全的,我建議對於Windows Phone 8,您最好啓動HERE地圖直接使用HERE Maps Launchers API

例如,如果您應用的遠足徑這將是有意義的增加了一個功能,找到的地方的詳細資料,以餐飲,住宿接近該步道 - 但你止跌」您需要創建自己的代碼來請求,格式化並顯示深入地點數據,只需啓動設備上已有的地圖應用程序(如有必要,從初始REST請求傳入href即可)。這樣做的好處有三個方面,首先您可以將這個功能添加到四行代碼中,其次以熟悉的格式向用戶顯示地點信息,最後從設備本身檢索信息,從而減輕需要額外增加HTTP請求。

一個或多個以下的任務可能是有用的:

  • ExploremapsShowPlaceTask允許你開始與中心在地圖上顯示的位置在地圖的地圖應用程序。
  • ExploremapsSearchPlacesTask允許您使用搜索視圖啓動地圖應用程序。
  • ExploremapsExplorePlacesTask允許您啓動顯示附近景點的地圖應用程序。
  • PlacesShowDetailsByLocationTask允許您使用地點視圖爲選定地點啓動地圖應用程序。
  • PlacesShowDetailsByIdHrefTask允許您使用所選地點的地點視圖來啓動地圖應用程序。

注意,如果HERE地圖沒有在的Windows Phone 8設備上安裝時,用戶將被引導到從App Store免費下載。

+0

好吧,我不希望我的應用程序依賴於其他應用程序,在這種情況下,如果我如果有人只是不想在這裏使用地圖(因爲某些原因),那麼我的應用程序將是無用的 –

+0

沒有什麼阻止你提供有限的回退選項,在用戶:a)沒有** HERE Maps **應用程序b)此時不想下載幾個MB的數據(例如由於有限的帶寬)。在這種情況下,您可以嘗試顯示從原始REST請求中檢索的一些信息。應該注意的是,** HERE Maps **是免費的,並且已經預裝在**諾基亞Lumias **上,這已經佔據了WP8市場的80%以上。據推測,如果用戶已經購買了手機,他們將熟悉安裝在其上的標準地圖應用程序。 –

+0

根據[AdDuplex]實際上超過90%(http://www.gsmarena.com/90_of_all_shipped_wp8_devices_are_nokia_lumia-news-7008.php) –