Пример #1
0
 public virtual void GenerateURL(StringBuilder builder)
 {
     if (string.IsNullOrEmpty(key))
     {
         key = OnlineMapsKeyManager.BingMaps();
     }
     builder.Append("https://dev.virtualearth.net/REST/v1/Elevation/").Append(urlToken).Append("?key=").Append(key);
     if (heights == Heights.ellipsoid)
     {
         builder.Append("&hts=ellipsoid");
     }
     if (output == Output.xml)
     {
         builder.Append("&output=xml");
     }
 }
    private OnlineMapsBingMapsLocation(Vector2 point, string key, bool includeNeighborhood)
    {
        if (string.IsNullOrEmpty(key))
        {
            key = OnlineMapsKeyManager.BingMaps();
        }

        _status = OnlineMapsQueryStatus.downloading;
        StringBuilder url = new StringBuilder();

        url.AppendFormat("https://dev.virtualearth.net/REST/v1/Locations/{0}?key={1}&o=xml", point.y + "," + point.x, key);
        if (includeNeighborhood)
        {
            url.Append("&inclnb=1");
        }
        www             = new OnlineMapsWWW(url);
        www.OnComplete += OnRequestComplete;
    }
    private OnlineMapsBingMapsLocation(string query, string key, int maxResults, bool includeNeighborhood)
    {
        if (string.IsNullOrEmpty(key))
        {
            key = OnlineMapsKeyManager.BingMaps();
        }

        _status = OnlineMapsQueryStatus.downloading;
        StringBuilder url = new StringBuilder();

        url.AppendFormat("https://dev.virtualearth.net/REST/v1/Locations/{0}?key={1}&o=xml", OnlineMapsWWW.EscapeURL(query), key);
        if (includeNeighborhood)
        {
            url.Append("&inclnb=1");
        }
        if (maxResults > 0 && maxResults != 5)
        {
            url.Append("&maxRes=").Append(maxResults);
        }
        www             = new OnlineMapsWWW(url);
        www.OnComplete += OnRequestComplete;
    }
    public override void StartDownloadElevationTile(Tile tile)
    {
        if (TryLoadFromCache(tile))
        {
            return;
        }

        double lx, ty, rx, by;

        map.projection.TileToCoordinates(tile.x, tile.y, tile.zoom, out lx, out ty);
        map.projection.TileToCoordinates(tile.x + 1, tile.y + 1, tile.zoom, out rx, out @by);
        OnlineMapsBingMapsElevation request = OnlineMapsBingMapsElevation.GetElevationByBounds(OnlineMapsKeyManager.BingMaps(), lx, ty, rx, @by, tileWidth, tileHeight);

        request.OnFinish += r => OnTileDownloaded(tile, request);
    }