Стилизация трафика в Xamarin.iOS - PullRequest
0 голосов
/ 30 октября 2019

Есть ли способ изменить стиль линий трафика по умолчанию, которые появляются, когда для MKMapView.ShowsTraffic установлено значение true? Спасибо.

1 Ответ

0 голосов
/ 30 октября 2019

Как вы, вероятно, уже выяснили, самое большее, что вы можете сделать со стилеванием трафика, - это как раз та логическая переменная showsTraffic , которая либо показывает, либо нет. MapKit на самом деле не настраивается отдельно от аннотаций, и это то, с чем вам придется жить, если вы не хотите использовать стороннего поставщика карт. На мой взгляд, у вас есть два варианта:

Использовать пользовательский рендерер плиток с MKMapView

. Вы можете использовать класс MKTileOverlay в сочетании с MKTileOverlayRenderer дляизвлекать фрагменты карты из стороннего сервиса, который поддерживает выборку и настройку фрагментов, а затем отображать эти фрагменты вместо карты Apple по умолчанию. Одним из таких сервисов является API Карт Google Tiles , но вам необходимо запросить доступ к нему у Google (он не является частью обычного API Карт Google), и он платный.

Если вы все еще хотите пойти по этому пути, вы можете следовать статье Настройка MapKit MKMapView с мастером стилей Google Maps о том, как создать свой собственный стиль и использовать его для запроса плиток усервер Google. Однако вы НЕ ДОЛЖНЫ использовать адрес API Карт Google, упомянутый в статье, поскольку обход официальных официальных API Google и отправка запросов прямо на их серверы строго запрещены и могут привести к бану и / или возникновению проблем. Вместо этого вы должны использовать официальный API, на который я ссылался выше.

Использовать другой элемент управления картой в целом

Я полностью осознаю, что вышеописанное является большой работой только для настройки линий трафика, поэтомуесли вы не хотите тратить много времени и денег, я бы предложил использовать другой (настраиваемый) элемент управления картой вместо MkMapView. Доступно множество различных вариантов, как бесплатных, так и платных.

...