最近、C# の webService [wcf] で[ Bing Api ]を使い始めました。特定の縮尺の衛星画像をBingで復元したい!例えば
縮尺 1:200 (地図上の 1 センチメートルは世界上の 200 センチメートルに等しい)
もちろん、画像解像度の衛星ビンを計算する方法を説明するこの関数を見つけましたが、これは私が探しているものではありません..
Map resolution = 156543.04 meters/pixel * cos(latitude) / (2 ^ zoomlevel)
bing マップを生成するために使用する関数を次に示しますが、1:200 の画像スケールを取得するためにパラメーターを送信する方法がわかりません。
私は欲しい :
スケール = 1:200
私は検索します :
int mapSizeHeight = ?
int mapSizeWidth = ?
int zoomLevel = ?
public string GetImageMap(double latitude,double longitude,int mapSizeHeight, int mapSizeWidth, int zoomLevel)
{
string key = "ddsaAaasm5vwsdfsfd2ySYBxfEFsdfsdfcFh6iUO5GI4v";
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;
}