命名空间可以Microsoft.Phone.Maps.Services
在 Windows 应用商店应用程序中使用吗?
如果没有,是否有合适的替代方案可用?
我被定向到这个,它显示了一些代码,这些代码正是非医生为了根据诸如地址之类的搜索词获取地理定位数据而订购的。
然而
该片段中使用的类(在Maps_GeoCoding
事件和QueryCompleted
回调中)来自 Microsoft.Phone.Maps.Services 命名空间,我需要这个或类似的代码用于 Windows 商店应用程序应用程序(我知道“Windows 商店应用程序”命名法会导致一些尴尬)。
有人知道一组类似的功能吗?或者,是否有可能,尽管听起来违反直觉,但实际上可以Microsoft.Phone.Maps.Services
在 Windows 应用商店应用程序中使用命名空间?
更新
这就是我所做的(广告 [a,o] 选自 Justin "Teen" Angel 下面的代码,未显示 appId 和 appCode):
private async static Task<string> GetCoordinatesForAddress(string address) // AKA Geocoding (reverse geocoding is getting address for coordinates)
{
// build URL for Here.net REST service
string currentgeoLoc = "0.0,0.0";
string queryString = address; //"Ferry Building, San-Francisco";
string appID = "<appId>"; // MAKE SURE TO GET YOUR OWN from developers.here.net
object appCode = "<appCode>"; // MAKE SURE TO GET YOUR OWN from developers.here.net
var hereNetUrl = string.Format(
"http://demo.places.nlp.nokia.com/places/v1/discover/search?at={0}&q={1}&app_id={2}&app_code={3}&accept=application/json",
currentgeoLoc, queryString, appID, appCode);
// get data from HERE.net REST API
var httpClient = new HttpClient();
var hereNetResponse = await httpClient.GetStringAsync(hereNetUrl);
// deseralize JSON from Here.net
using (var tr = new StringReader(hereNetResponse))
using (var jr = new JsonTextReader(tr))
{
var rootObjectResponse = new JsonSerializer().Deserialize<JsonDOTNetHelperClasses.RootObject>(jr);
var firstplace = rootObjectResponse.results.items.First();
return string.Format("{0};{1}", firstplace.position[0], firstplace.position[1]);
}
}