2016-05-20 8 views
0

Я хочу добавить Здесь карты на карте плитки на мою карту от BruTile/SharpMap.Как добавить карту в качестве слоя плитки с помощью BruTile/SharpMap?

Схема URL-адрес является следующая их документации:

https://1.base.maps.cit.api.here.com/maptile/2.1/maptile/newest/normal.day/13/4400/2686/256/png8

APP_ID = {YOUR_APP_ID}

& App_Code = {YOUR_APP_CODE}

, где 13 zoomlevel, 4400 - столбец, 2686 - строка.

Вот мой код, но это время, и карта пуста. Код приложения и код приложения верны, он на 100% уверен. В чем проблема?

var networkRes = Networking.HasInternetConnection(); 

if (networkRes.Result == false) 
    throw new Exception(networkRes.InfoMessage); 

var uriString = "https://1.base.maps.cit.api.here.com/maptile/2.1/maptile/newest/normal.day/{z}/{x}/{y}/256/png8"; 

var customParams = new Dictionary<string, string>(); 
customParams.Add("app_id", "someappid"); 
customParams.Add("app_code", "someappcode"); 

var req = new TmsRequest(new Uri(uriString),"png" , customParams); 

var provider = new WebTileProvider(req); 

var tileSource = new TileSource(provider, new SphericalMercatorInvertedWorldSchema()); 

TileLayer tileLayer; 

if (CacheWebMaps) 
{ 
    var path = Path.Combine(MapCacheRoot, HEREBASELAYERNAME); 
    tileLayer = new TileLayer(tileSource, HEREBASELAYERNAME, new Color(), true, path); 
} 
else 
{ 
    tileLayer = new TileLayer(tileSource, HEREBASELAYERNAME); 
} 

tileLayer.SRID = 3857; 

MapBox.Map.Layers.Add(tileLayer); 

Заранее благодарен!

+0

Вы использовали это в своей документации? Если да, то какой? – pauldendulk

+1

Я использовал этот документ: https://developer.here.com/rest-apis/documentation/enterprise-map-tile/topics/example-normal-day-view.html И код от меня, я успешно реализовал несколько фрагментов источники (osm, MapQuest, пользовательские и т. д.), но я не могу сделать здесь Работа с картами – Tom

+0

[Здесь] (https://1.base.maps.cit.api.here.com/maptile/2.1/maptile/newest/ normal.day/13/4400/2686/256/png8?app_id=xWVIueSv6JL0aJ5xqTxb&app_code=djPZyynKsbTjIUDOBcHZ2g) - это URL, который вы разместили вверху с идентификатором приложения и кодом приложения веб-сайта «Карты». Означает ли это также, что в браузере отображается идентификатор вашего приложения и код? – pauldendulk

ответ

1

Вы можете создать здесь Карты плитки источник так:

var hereMapsTileSource = new HttpTileSource(new GlobalSphericalMercator(0, 8), "https://{s}.base.maps.cit.api.here.com/maptile/2.1/maptile/newest/normal.day/{z}/{x}/{y}/256/png8?app_id=xWVIueSv6JL0aJ5xqTxb&app_code=djPZyynKsbTjIUDOBcHZ2g", new[] {"1", "2", "3", "4"}, name: "Here Maps Source"); 

Я добавил пример Samples \ BruTile.Demo (нижняя кнопка радио). Here - это код, который я добавил.

Я не уверен, что версия BruTile, используемая SharpMap, поддерживает HttpTileSource. Если нет, вы можете скопировать HttpTileSource в свой собственный проект.

+0

Спасибо, Пол, очень любезно с тобой! Я проверю его в понедельник! – Tom