Bing映射到医院

时间:2013-07-26 18:21:08

标签: xaml c#-4.0 bing-maps

我正在尝试使用BING Map API for Windows 8 Metro应用程序来获取印度特定城市的所有医院。但是我无法获取详细信息。以下是尝试的两种方法

  1. 使用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;
                }
            }
        }
    
  2. 这未提供所需的详细信息。

    1. 使用Bing Spatial Data Services
    2. 以下是代码段

      ////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,
                     };
      

      但是我没有得到印度城市的详细信息。有人可以帮我弄清楚需要做些什么来获取正确的细节吗?

1 个答案:

答案 0 :(得分:0)

场地地图只是Bing地图有室内平面图的地方。我不知道印度有任何可以作为Venue Maps的医院。 Bing Spatial Data服务中的兴趣点数据仅适用于北美和欧洲。在印度寻找位置的最佳选择是使用Bing Maps SOAP搜索服务。

http://msdn.microsoft.com/en-us/library/cc980849.aspx

http://msdn.microsoft.com/en-us/library/dd221354.aspx