Опитвам се да използвам контролата на Bing Maps WPF, за да изобразя персонализирани плочки на картата от изображение на измислена карта на света на играта, но също така трябва да начертая X,Y стойности на картата от оригиналното изображение на света (нещо като ин- световен GPS).
Изображението е 5720x5720 и вече имам работеща (в друго приложение) функция, която ръчно изрязва, мащабира и преначертава секции от изображението и начертава координатите pixelX и pixelY в PictureBox. Бих искал да накарам същата функционалност да работи с помощта на контролата на картата.
Използвах този плъгин на Photoshop, за да изрежа плочките от оригиналното персонализирано изображение (работи като maptiler за google mapes) https://github.com/bramus/photoshop-google-maps-tile-cutter/
Проблемът е, че знам стойностите на X, Y за начертаване от оригиналното изображение, но не съм съвсем сигурен как да изчисля Lat/Long за чертане на точка в персонализираната система за плочки.
<m:Map Name="Map">
<m:Map.Mode>
<!-- set empty map mode, i.e. remove default map layer -->
<m:MercatorMode/>
</m:Map.Mode>
<local:MyTileLayer UriFormat="file:///C:/map_tiles/{z}_{x}_{y}.jpg"/>
</m:Map>
Картата се показва страхотно и всичко изглежда добре с персонализираните плочки на картата. Намерих тази връзка, която предоставя клас за конвертиране на PixelXY в LatLong в TileSystem, но всички те са за реалистични световни точки.
https://msdn.microsoft.com/en-us/library/bb259689.aspx
Моите персонализирани плочки на карта всъщност са за измислена карта за игра, така че не вярвам, че проекцията и изчисленията на земната кривина са необходими в моята ситуация.
Как мога да начертая точно точка в WPF контролата на Bing Maps, ако знам само координатите на X,Y пиксела от оригиналното необработено изображение?
Map.ViewportPointToLocation
, както иTileSystem.PixelXYToLatLong
.TileSystem.PixelXYToLatLong
поне начертава точка, която е на картата (все пак е грешна),Map.ViewPortPointToLocation
дори не дава координатно местоположение на картата. - person Josh   schedule 02.02.2015