Skip to main content

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 völlig unabhängigen Plugin. Dieses Plugin kann Folgendes enthalten:

  • Alle Profileinstellungen mit einem neuen Profil.
  • Spezifischer Satz von Schnellaktionen und Menülayouts für Drawer und Kontextmenü.
  • Benutzerdefinierte Offline-Karte im Plugin oder zum Herunterladen vorgeschlagen.
  • Spezifische Online-Routing-Typen und Online-Karten.

Wie zu erstellen

Benutzerdefiniertes Paket

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 von diesem 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:

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
}]
}
]
}

Import-Typen

Es gibt viele Import-Typen für die OsmAnd items.JSON-Datei. Alle Typen finden Sie hier, und dieser Artikel beschreibt nur einige davon.

Plugin-Beschreibung

Zuerst erstellen und fügen Sie Ihr Plugin zu items.JSON hinzu. Der erste Import-Typ ist "PLUGIN". HINWEIS. Sie müssen diese Zeile für jeden Typ "pluginId":"test.plugin" erstellen und hinzufügen, wobei test.plugin der Name Ihres Pakets ist.

Benutzerdefiniertes Paket

Plugin-Bilder

Um die Symbolbilder Ihres Plugins in OsmAnd zu importieren, erstellen Sie einen Ordner (in unserem Beispiel ist dies der Ordner "res"), in dem die Bilddateien gespeichert werden. Der Name dieses Typs ist "RESOURCES".

Benutzerdefiniertes Paket

Profile

Mit dem Typ "PROFILE" können Sie ein Navigationsprofil für Ihr Plugin hinzufügen. Sie können alle Informationen zu Ihrem Navigationsprofil in der exportierten JSON-Datei erhalten, in der Sie lesen 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 Navigationsdatei profiles.osf (items.JSON) in die Datei PLUGIN.osf (items.JSON).

Benutzerdefiniertes Paket

Downloads

Sie können beliebige Dateien wie SQLite, OBF oder Schriftarten zum Herunterladen mit dem Typ "DOWNLOADS" hinzufügen. Die wichtigsten Typen von herunterladbaren Dateien finden Sie hier. HINWEIS. Das Tag "isHidden":"true" (standardmäßig ist es false) kann Ihre Kartendaten aus den Karten und Ressourcen von OsmAnd ausblenden. In "scope-id" können Sie alle notwendigen Informationen über die URL, den Namen, die Beschreibung und mehr Ihrer Datei hinzufügen.

Benutzerdefiniertes Paket

Vorschläge zum Herunterladen

Im Typ "SUGGESTED_DOWNLOADS" können Sie die Karten herunterladen, die OsmAnd beim Importieren eines neuen Plugins anbietet.

Benutzerdefiniertes Paket

Dateien

Im Typ "FILE" können Sie Dateien aus Ihren Plugin-Ordnern in OsmAnd-Ordner verschieben, deren "subtype" Sie hier finden. Im bereitgestellten Beispiel wurden die Dateien routing.xml und rendering.xml hinzugefügt. Sie können unter den Links hier und hier nachlesen, wie Sie diese Dateien erstellen.

Benutzerdefiniertes Paket

Wenn die items.JSON-Datei und alle Dateien im Ordner bereit sind, können Sie sie in einem Dokument zusammenfügen. Danach sollte die .zip-Datei in .osf umbenannt werden, und dann ist Ihre PLUGIN.osf bereit, zur OsmAnd-Anwendung hinzugefügt zu werden.

Beispiele

Sie können sich einige der Plugins ansehen, die OsmAnd-Benutzer selbst erstellt haben:

Zuletzt aktualisiert: Juni 2024