Skip to main content

Özel Paket

Genel Bakış

OsmAnd uygulamasında birçok özelleştirme oluşturabilir ve bunları bir .osf dosyasına aktarabilirsiniz. Bir açıklama, resim ve simge ekledikten sonra, bu özelleştirmeler tamamen bağımsız bir eklenti haline gelir. Bu eklenti şunları içerebilir:

  • Yeni bir profille tüm Profil Ayarları.
  • Çekmece ve Bağlam menüsü için belirli hızlı eylemler ve menü düzenleri kümesi.
  • Eklenti içinde özel çevrimdışı harita veya indirilmesi önerilen harita.
  • Belirli çevrimiçi yönlendirme türleri ve çevrimiçi haritalar.

Nasıl Oluşturulur

Özel paket

.osf dosyası, .json dosyaları ve klasörleri içeren yeniden adlandırılmış bir .zip dosyasıdır. Örnek olarak, hazırladığımız dosyaları Google Drive adresinden veya hazır bir eklentiyi bu bağlantıdan indirebilirsiniz.

.json dosyalarını, .json dosyalarını, .obf dosyalarını, simgeleri ve daha fazlasını içe aktarma komutlarını içeren OsmAnd'ın items.json dosyasını kullanarak değiştirebilirsiniz.

Şunları okumanız gerekebilir:

items.json

OsmAnd'ın items.json dosyası.
{
"version":1,
"items":[

{
"type":"PLUGIN",
"pluginId":"test.plugin",
"version" : 1,
"icon": {
"" : "@plugin-id.png"

},
"image": {
"" :"@plugin-image.webp"
},
"name":{
"":"Test Plugin",
"ru":"Test Plugin: RU language"
},
"description":{
"":"This package is a test package and displays test information.",
"ru":"This package is a test package and displays test information. RU language."
}
},

{
"type":"RESOURCES",
"pluginId":"test.plugin",
"file":"res"
},


{
"type":"DOWNLOADS",
"pluginId":"test.plugin",
"items":[
{
"path":"test",
"name":{
"":"My offline maps",
"ru":"RU: My offline maps"
},
"icon":{
"":"ic_world_globe_dark"
},
"header-color":"#002E64",
"description":{
"text":{
"":"This package is a collection of online and offline map sources of various types.",
"ru":"RU: This package is a collection of online and offline map sources of various types."
},
"button":[
{
"":"Telegram chat OsmAnd",
"url":"https:\/\/t.me\/OsmAndMaps"
}
]
}
},
{
"scope-id":"offline-maps",
"path":"test/Waterway",
"header-color":"#002E64",
"name":{
"":"Waterway",
"ru":"RU: waterway"
},
"icon":{
"":"ic_world_globe_dark"
},
"items":[
{
"name":{
"":"Offline Waterway map SA",
"ru":"RU: Offline Waterway map SA"
},
"filename":"waterway.obf.zip",
"type":"map",
"isHidden":"true",
"timestamp":1582994500,
"containerSize":28195301,
"contentSize":28195301,
"description":{
"text":{
"":"Zoom min: 0<br />Zoom max: 19<br />Countries: SA",
"ru":"RU: Zoom min: 0<br />Zoom max: 19<br />Countries: SA"
},
"image":[
"https://drive.google.com/uc?id=16HjUHsSWNgeQI0bmuup9ohpyrg6rWkHH&export=download"
]
},
"downloadurl":"https://drive.google.com/uc?id=10iP2VZexHtHC0QLhACZ1QoEy-duNN5Wg&export=download",
"firstsubname":{
"":"Waterway",
"ru":"RU: Waterway"
},
"secondsubname":{
"":"",
"ru":""
}
}
]
}]
},

{
"type":"PROFILE",
"pluginId":"test.plugin",
"file":"bicycle_test.json",
"appMode":{
"iconColor":"RED",
"iconName":"ic_action_motorcycle_dark",
"locIcon":"BENTLEY",
"navIcon":"BENTLEY",
"order":32,
"parent":"bicycle",
"stringKey":"bicycle_test",
"userProfileName" : "Test Prof"
},
"prefs" : {
"drawer_logo": { "" : "@logo.png"},
"drawer_url" : { "" : "https://osmand.net"},
"drawer_items" : { "hidden" : ["dashboard"], "order" : ["map_markers", "my_places", "search"] },
"context_menu_items" : {},
"configure_map_items" : {},
"route_service":"OSMAND",
"renderer":"test-rendering.render.xml",
"routing_profile":"routing-test.xml/test-car"
}
},

{
"type":"FILE",
"pluginId":"test.plugin",
"subtype" : "rendering_style",
"file":"\/rendering\/test-rendering.render.xml"
},

{
"type":"FILE",
"pluginId":"test.plugin",
"subtype" : "routing_config",
"file":"\/routing\/routing-test.xml"
},

{
"type":"SUGGESTED_DOWNLOADS",
"pluginId":"test.plugin",
"comment-1" : "search-type are latlon (closest by latlon), worldregion (by boundaries if name matches worldRegion downloadName as we do for default types), by default natural order, limit finds first N elements",
"comment-2" : "predefined scope-id are @type of indexes.xml map, srtm_map, road_map, wikimap, wikivoyage, hillshade, slope, fonts, voice, depth ",
"comment-3" : "names filters ignore case by name.contains(filterName)",
"items": [{
"scope-id" : "test-downloads",
"limit" : 1,
"search-type" : "latlon"
}, {
"scope-id" : "road_map",
"names" : [
"Poland_lesser-poland_europe_2.obf.zip", "netherlands_noord-holland_europe"]
}, {
"scope-id" : "wikimap",
"search-type" : "worldregion"
}]
},

{
"type":"NAVIGATION_ICONS",
"pluginId":"test.plugin",
"items" : [{
"locationIcon": {
"" : "@bentley-car.png"
},
"locationIconId": "BENTLEY",
"navigationIcon": {
"" : "@bentley-car-moving.png"
},
"navigationIconId": "BENTLEY"
}]
},

{
"type":"QUICK_ACTIONS",
"pluginId":"test.plugin",
"items": [{
"name": "Test quick action",
"actionType": "osmbug.add",
"params": "{\"dialog\":\"false\",\"message\":\"Message\"}"
}]
},

{
"type":"POI_UI_FILTERS",
"pluginId":"test.plugin",
"items": [{
"name": "Test Search",
"filterId": "test_search",
"acceptedTypes": "{\"sustenance\":[\"bar\",\"alpine_hut\"]}"
}]
},

{
"type":"MAP_SOURCES",
"pluginId":"test.plugin",
"items": [{
"sql": false,
"name": "OsmAnd (test)",
"minZoom": 1,
"maxZoom": 19,
"url": "https:\/\/tile.osmand.net\/hd\/{0}\/{1}\/{2}.png",
"ellipsoid": false,
"inverted_y": false,
"timesupported": false,
"expire": -1,
"inversiveZoom": false,
"ext": ".png",
"tileSize": 512,
"bitDensity": 8,
"avgSize": 18000
}]
}
]
}

İçe Aktarma Türleri

OsmAnd items.JSON dosyası için birçok içe aktarma türü vardır. Tüm türler burada bulunabilir ve bu makale bunlardan sadece birkaçını açıklamaktadır.

Eklenti Açıklaması

Başlamak için, eklentinizi oluşturur ve items.JSON'a eklersiniz. İlk içe aktarma türü "PLUGIN"'dir. NOT. Her tür için bu satırı oluşturmalı ve eklemelisiniz: "pluginId":"test.plugin", burada test.plugin paketinizin adıdır.

Özel paket

Eklenti Resimleri

Eklenti simge resimlerinizi OsmAnd'a aktarmak için, resim dosyalarının depolanacağı bir klasör (örneğimizde "res" klasörü) oluşturun. Bu türün adı "RESOURCES"'dir.

Özel paket

Profiller

"PROFILE" türünü kullanarak eklentiniz için bir navigasyon profili ekleyebilirsiniz. Navigasyon profilinizle ilgili tüm bilgileri dışa aktarılan JSON dosyasında bulabilirsiniz; burada hangi items.JSON türlerinin eklendiğini (“QUICK_ACTIONS”, “POI_UI_FILTERS”, “MAP_SOURCES” veya diğerleri) okumak mümkündür. NOT: Tüm parametrelerle bir navigasyon profili oluşturmaya başlayın, bu amaçla navigasyon profillerini dışa aktarın ve gerekli öğeleri navigasyon profiles.osf (items.JSON) dosyasından PLUGIN.osf (items.JSON) dosyasına kopyalayın.

Özel paket

İndirmeler

"DOWNLOADS" türünü kullanarak SQLite, OBF veya yazı tipleri gibi herhangi bir dosyayı indirmek için ekleyebilirsiniz. İndirilebilir dosyaların ana türleri burada bulunabilir. NOT. "isHidden":"true" etiketi (varsayılan olarak false'tur) harita verilerinizi OsmAnd'ın Haritalar ve Kaynaklar bölümünden gizleyebilir. "scope-id" içinde dosyanızın URL'si, adı, açıklaması ve daha fazlası hakkında gerekli tüm bilgileri ekleyebilirsiniz.

Özel paket

Önerilen İndirmeler

"SUGGESTED_DOWNLOADS" türünde, yeni bir eklenti içe aktarılırken OsmAnd'ın sunduğu haritaları indirebilirsiniz.

Özel paket

Dosyalar

"FILE" türünde, eklenti klasörlerinizdeki dosyaları OsmAnd klasörlerine ekleyebilirsiniz; bunların "subtype"ı burada bulunabilir. Sağlanan örnekte, routing.xml ve rendering.xml dosyaları eklenmiştir. Bu dosyaların nasıl oluşturulacağını burada ve burada bulunan bağlantılardan okuyabilirsiniz.

Özel paket

items.JSON dosyası ve klasördeki tüm dosyalar hazır olduğunda, bunları tek bir belgeye sıkıştırabilirsiniz. Bundan sonra, .zip dosyası .osf olarak yeniden adlandırılmalı ve ardından PLUGIN.osf'niz OsmAnd uygulamasına eklenmeye hazır olacaktır.

Örnekler

OsmAnd kullanıcılarının kendi başlarına yaptıkları bazı eklentilere göz atabilirsiniz:

Son güncelleme: Haziran 2024