我正在尝试使用BING Map API for Windows 8 Metro应用程序来获取印度特定城市的所有医院。但是我无法获取详细信息。以下是尝试的两种方法
使用NearbyVenueCollection类
NearbyVenueOptions options = new NearbyVenueOptions(loc, 10000);
NearbyVenueCollection nearbyVenues = null;
try
{
nearbyVenues = await MyMap.VenueManager.GetNearbyVenuesAsync(options); ;
}
catch (Exception)
{
}
if (nearbyVenues != null && nearbyVenues.Count > 0)
{
foreach (var nearbyVenue in nearbyVenues)
{
if (nearbyVenue.Metadata.VenueType == VenueType.Hospital.ToString())
{
string name = nearbyVenue.Metadata.Name;
}
}
}
这未提供所需的详细信息。
以下是代码段
////Create the Bing Spatial Data Services request to get nearby POI
string findNearbyPOIRequest = "http://spatial.virtualearth.net/REST/v1/data/ f22876ec257b474b82fe2ffcb8393150/ NavteqNA/NavteqPOIs? spatialfilter=nearby("
+ loc.Latitude + "," + loc.Longitude + "," + 1000 + ")"
+ "&$filter=EntityTypeID%20EQ%20'" + "8060" + "'& $select=EntityID,DisplayName,__Distance,Latitude,Longitude,AddressLine, Locality,AdminDistrict,PostalCode,Phone&$top=20"
+ "&key=" + BingCredentials;
Uri uri = new Uri(findNearbyPOIRequest);
WebRequest request = WebRequest.Create(uri);
// GetResponseAsync() returns immediately after the header is ready
WebResponse response = await request.GetResponseAsync();
Stream inputStream = response.GetResponseStream();
XDocument doc = XDocument.Load(inputStream);
XNamespace m ="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata";
XNamespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
MapLayer pushpinLayer = new MapLayer();
pushpinLayer.Name = "Push Pin Layer";
var elements = from nodes in doc.Descendants(m + "properties")
select new
{
Name = nodes.Element(d + "DisplayName").Value,
Latitude = nodes.Element(d + "Latitude").Value,
Longitude = nodes.Element(d + "Longitude").Value,
Address = nodes.Element(d + "AddressLine").Value,
};
但是我没有得到印度城市的详细信息。有人可以帮我弄清楚需要做些什么来获取正确的细节吗?
答案 0 :(得分:0)
场地地图只是Bing地图有室内平面图的地方。我不知道印度有任何可以作为Venue Maps的医院。 Bing Spatial Data服务中的兴趣点数据仅适用于北美和欧洲。在印度寻找位置的最佳选择是使用Bing Maps SOAP搜索服务。