Добавить новость
123ru.net
Все новости
Апрель
2023

Дописать библиотеку react-native-yamap-shim под ios (Оbjective-C) доба

0
Дописать библиотеку react-native-yamap-shim под ios (Оbjective-C) добавив слой от mapbox.

Суть задачи:

В библиотеке react-native-yamap-shim в ios добавить функционал добавления слоя на карту по пропсам. 1 пропс передает maptype={“custom”} он активирует наш слой, а 2 пропс передает ключ от mapbox.

При загрузке скрина подключается слой, если добавлены пропс с mapBox(с ключем), но не активирует его. Если мы передаем в mapType = {“custom”} то активируется слой, если нет то слой деактивируется

Необходимо проработать два пропса:

<YaMap
mapType={'custom'} // - добавляется тип карты, он и будет активировать наш слой
mapBox={'КЛЮЧ_ОТ_MA'} // - добавляется ключ от mapbox, чтобы наш слой активировался
/>


Для android уже сделано react-native-yamap-shim, нужно тот же самый функционал перенести в ios

Для понимания можете запустить пример яндекса mapkit-ios-demo.И добавить в CustomLayerViewController:

import UIKit

import YandexMapsMobile



/**

* This example shows how to add a user-defined layer to the map.

* We use the UrlProvider class to format requests to a remote server that renders

* tiles. For simplicity, we ignore map coordinates and zoom here, and

* just provide a URL for the static image.

*/

class CustomLayerViewController: BaseMapViewController {



var layer: YMKLayer?



internal class CustomTilesUrlProvider: NSObject, YMKTilesUrlProvider {

func formatUrl(with tileId: YMKTileId, version: YMKVersion) -> String {





}

}





// MapKitdoesn't need Url provider for raster maps.

internal class DummyUrlProvider : NSObject, YMKResourceUrlProvider {

override init() {}



func formatUrl(withResourceId resourceId: String) -> String {

return "";

}



override func isEqual(_ object: Any?) -> Bool {

return true;

}

}



// Client code must retain strong references to providers and projection

let tilesUrlProvider = CustomTilesUrlProvider()

let projection = YMKProjections.sphericalMercator()



override func viewDidLoad() {

super.viewDidLoad()

//YMKMapTypeVectorMap;

mapView.mapWindow.map.mapType = YMKMapType.vectorMap;



let layerOptions = YMKLayerOptions(

active: true,

nightModeAvailable: true,

cacheable: true,

animateOnActivation: true,

tileAppearingAnimationDuration: 0,

overzoomMode: .enabled,

transparent: false

)



layer = mapView.mapWindow.map.addLayer(

withLayerId: "mapkit_logo",

contentType: "image/jpeg",

layerOptions: layerOptions,

tileUrlProvider: tilesUrlProvider,

imageUrlProvider: YMKImagesDefaultUrlProvider(),

projection: projection)



layer!.invalidate(withVersion: "0.0.0")



}

}



Так на вашей карте будет работать слой от mapbox.





Загрузка...


Губернаторы России

Спорт в России и мире

Загрузка...

Все новости спорта сегодня


Новости тенниса

Загрузка...


123ru.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.


Загрузка...

Загрузка...

Экология в России и мире




Путин в России и мире

Лукашенко в Беларуси и мире



123ru.netмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

123ru.net — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.






Здоровье в России и мире


Частные объявления в Вашем городе, в Вашем регионе и в России






Загрузка...

Загрузка...





Друзья 123ru.net


Информационные партнёры 123ru.net



Спонсоры 123ru.net