0

webService以降、[BingApi]で「BingMaps」の画像を取得するアプリケーションを開発しています。私の問題は画像のレンダリングです。 ズームを11より大きく設定した場合、またはサイズを大きくしすぎた場合、画像を復元した結果は、複数の読み込みに「カット」されたようになり、画像が完全にダウンロードされていないように見えます。

下の画像の例...

画像が背面のように見える理由を知っていますか?

これが私のwebServiceで使用されているコードです。

    //call function 
    GetImageMap(46,6,800,800,17);

    //Get Bing map Image from the web
    public string GetImageMap(double latitude,double longitude,int mapSizeHeight, int mapSizeWidth, int zoomLevel)
    {
        string key = "asoidfz9aos78fa9w3hf9w3fh9hf7ha9wfw37fhblablablablablabla";
        MapUriRequest mapUriRequest = new MapUriRequest();

        // Set credentials using a valid Bing Maps key
        mapUriRequest.Credentials = new ImageryService.Credentials();
        mapUriRequest.Credentials.ApplicationId = key;

        // Set the location of the requested image
        mapUriRequest.Center = new ImageryService.Location();
        mapUriRequest.Center.Latitude = latitude;
        mapUriRequest.Center.Longitude = longitude;

        // Set the map style and zoom level
        MapUriOptions mapUriOptions = new MapUriOptions();
        mapUriOptions.Style = MapStyle.Aerial;
        mapUriOptions.ZoomLevel = zoomLevel;
        mapUriOptions.PreventIconCollision = true;
        // Set the size of the requested image in pixels
        mapUriOptions.ImageSize = new ImageryService.SizeOfint();
        mapUriOptions.ImageSize.Height = mapSizeHeight;
        mapUriOptions.ImageSize.Width = mapSizeWidth;

        mapUriRequest.Options = mapUriOptions;

        //Make the request and return the URI
        ImageryServiceClient imageryService = new ImageryServiceClient();
        MapUriResponse mapUriResponse = imageryService.GetMapUri(mapUriRequest);
        return mapUriResponse.Uri;
    }
    // ### END Function getImageMap

そして、URLクエリ:

http://api.tiles.virtualearth.net/api/GetMap.ashx?c=46,6&dcl=1&w=800&h=800&b=a,mkt.en-US&z=17&token={token}

結果画像..: ここに画像の説明を入力してください

4

1 に答える 1

1

航空写真に関連しているようで、技術的には関連していません。適切なチームに報告します。

ちなみに、Bingの画像を使用する公式の方法であるRESTImageryAPIを使用する必要があります。MSDNを参照してください。

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

これがあなたの例に基づくサンプルURLです:

http://dev.virtualearth.net/REST/v1/Imagery/Map/Aerial/46,6/17?mapSize=800,800&key=YOURKEY
于 2013-03-01T15:06:22.870 に答える