Benutzerdefiniertes Paket
Übersicht
In der OsmAnd-Anwendung können Sie viele Anpassungen erstellen und diese in eine .osf
-Datei exportieren. Nach dem Hinzufügen einer Beschreibung, eines Bildes und eines Symbols werden diese Anpassungen zu einem vollständig unabhängigen Plugin. Dieses Plugin kann Folgendes enthalten:
- Alle Profileinstellungen mit einem neuen Profil.
- Spezifischer Satz von Schnellaktionen und Menü-Layouts für Schublade und Kontextmenü.
- Benutzerdefinierte Offline-Karte innerhalb des Plugins oder zum Herunterladen vorgeschlagen.
- Spezifische Online-Routing-Typen und Online-Karten.
Wie man es erstellt
Die .osf
-Datei ist eine umbenannte .zip
-Datei, die .json
-Dateien und Ordner enthält. Als Beispiel können Sie unsere vorbereiteten Dateien von Google Drive oder ein fertiges Plugin über diesen Link herunterladen.
Sie können .json
-Dateien mit der items.json-Datei von OsmAnd ändern, die Befehle zum Importieren von .json
-Dateien, .obf
-Dateien, Symbolen und mehr enthält.
Möglicherweise müssen Sie Folgendes lesen:
- Über das
.json
-Format. - Über Texteditoren, mit denen Sie Dateien im JSON-Format öffnen und bearbeiten können.
- Über den Sublime Text Editor, der in OsmAnd als Referenz verwendet wird.
- Sie können Ihren Code im JSON Editor Online überprüfen.
items.json
OsmAnds items.json-Datei.
{
"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
}]
}
]
}
Importtypen
Es gibt viele Importtypen für die items.JSON-Datei von OsmAnd. Alle Typen finden Sie hier, und dieser Artikel beschreibt nur einige davon.
Plugin-Beschreibung
Zuerst erstellen Sie Ihr Plugin und fügen es zu items.JSON hinzu. Der erste Importtyp ist "PLUGIN".
HINWEIS. Sie müssen diese Zeile für jeden Typ erstellen und hinzufügen: "pluginId":"test.plugin", wobei test.plugin der Name Ihres Pakets ist.
Plugin-Bilder
Um Ihre Plugin-Symbolbilder in OsmAnd zu importieren, erstellen Sie einen Ordner (in unserem Beispiel der Ordner "res"), in dem die Bilddateien gespeichert werden. Der Name dieses Typs ist "RESOURCES".
Profile
Mit dem Typ "PROFILE" können Sie ein Navigationsprofil für Ihr Plugin hinzufügen. Alle Informationen zu Ihrem Navigationsprofil erhalten Sie in der exportierten JSON-Datei, in der Sie nachlesen können, welche items.JSON-Typen hinzugefügt wurden (“QUICK_ACTIONS”, “POI_UI_FILTERS”, “MAP_SOURCES” oder andere). HINWEIS: Beginnen Sie mit der Erstellung eines Navigationsprofils mit allen Parametern. Exportieren Sie dazu Navigationsprofile und kopieren Sie die erforderlichen Elemente aus der profiles.osf (items.JSON)-Datei der Navigation in die PLUGIN.osf (items.JSON)-Datei.
Downloads
Mit dem Typ "DOWNLOADS" können Sie beliebige Dateien wie SQLite, OBF oder Schriftarten zum Herunterladen hinzufügen. Die Haupttypen herunterladbarer Dateien finden Sie hier.
HINWEIS. Das Tag "isHidden":"true" (standardmäßig ist es false) kann Ihre Kartendaten in Karten & Ressourcen von OsmAnd ausblenden. In "scope-id" können Sie alle notwendigen Informationen über die URL, den Namen, die Beschreibung Ihrer Datei und mehr hinzufügen.
Vorgeschlagene Downloads
Im Typ "SUGGESTED_DOWNLOADS" können Sie die Karten herunterladen, die OsmAnd beim Importieren eines neuen Plugins anbietet.
Dateien
Im Typ "FILE" können Sie Dateien aus Ihren Plugin-Ordnern zu OsmAnd-Ordnern hinzufügen, deren "subtype" hier zu finden ist. Im bereitgestellten Beispiel wurden die Dateien routing.xml und rendering.xml hinzugefügt. Wie Sie diese Dateien erstellen, können Sie unter den Links hier und hier nachlesen.
Wenn die items.JSON-Datei und alle Dateien im Ordner fertig sind, können Sie sie in einem Dokument komprimieren. Danach sollte die .zip-Datei in .osf umbenannt werden, und dann ist Ihre PLUGIN.osf-Datei bereit, zur OsmAnd-Anwendung hinzugefügt zu werden.
Beispiele
Sie können sich einige der Plugins ansehen, die OsmAnd-Benutzer selbst erstellt haben:
- The USA Maps benutzerdefiniertes Plugin (PAD-US-Daten, USFS-Wanderwege und -Straßen, USFS-Erholung).
- Anygis maps benutzerdefiniertes Plugin.
- Map Legend benutzerdefiniertes Plugin.
- UMP-PL Polen benutzerdefiniertes Karten-Plugin.
- OsmAnd Rendering plugin benutzerdefiniertes Plugin.
- Outdoor Explorer benutzerdefiniertes Plugin.