summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2017-10-31 18:04:59 +0200
committerPaolo Angelelli <paolo.angelelli@qt.io>2017-11-29 12:52:35 +0000
commit13189f0741c755bfbde889e91c67c168faa3709f (patch)
tree1c1c928d49bce1bfea46656df6dfc07ea75a1900 /src/plugins
parentf59d205a670836cc989ab7f50567bcbb47d56c6f (diff)
downloadqtlocation-13189f0741c755bfbde889e91c67c168faa3709f.tar.gz
Implement QPlaceManagerEngineMapbox
Implements QtLocation's Places functionality, providing points of interests (POIs) support based on Mapbox web services APIs [1]. New 'mapbox' plugin features: - OnlinePlacesFeature - PlaceRecommendationsFeature - SearchSuggestionsFeature - LocalizedPlacesFeature Place icons are kindly provided via Mapbox Maki under CC0 license [2]. [1] https://www.mapbox.com/api-documentation [2] https://www.mapbox.com/maki Change-Id: Ice51abe184908250f584a9c08f70d28e95c30683 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/LICENSE.txt116
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/aerialway.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/airfield.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/airport.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/alcohol-shop.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/america-football.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/amusement-park.svg20
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/aquarium.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/art-gallery.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/attraction.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/bakery.svg15
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/bank.svg19
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/bar.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/barrier.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/baseball.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/basketball.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/bbq.svg17
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/beer.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/bicycle-share.svg20
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/bicycle.svg21
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/blood-bank.svg8
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/buddhism.svg24
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/building-alt1.svg7
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/building.svg7
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/bus.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/cafe.svg9
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/campsite.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/car.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/castle.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/cemetery.svg9
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/cinema.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/circle-stroked.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/circle.svg7
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/city.svg14
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/clothing-store.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/college.svg5
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/commercial.svg7
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/cricket.svg14
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/cross.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/dam.svg20
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/danger.svg18
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/defibrillator.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/dentist.svg9
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/doctor.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/dog-park.svg49
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/drinking-water.svg5
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/embassy.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/emergency-phone.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/entrance-alt1.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/entrance.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/farm.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/fast-food.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/fence.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/ferry.svg19
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/fire-station.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/florist.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/fuel.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/gaming.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/garden-center.svg5
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/garden.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/gift.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/golf.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/grocery.svg48
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/hairdresser.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/harbor.svg14
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/heart.svg8
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/heliport.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/home.svg8
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/horse-riding.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/hospital.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/ice-cream.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/industry.svg9
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/information.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/karaoke.svg7
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/landmark.svg9
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/landuse.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/laundry.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/library.svg15
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/lighthouse.svg9
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/lodging.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/logging.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/marker-stroked.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/marker.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/mobile-phone.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/monument.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/mountain.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/museum.svg14
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/music.svg9
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/natural.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/park-alt1.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/park.svg15
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/parking-garage.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/parking.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/pharmacy.svg9
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/picnic-site.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/pitch.svg9
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/place-of-worship.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/playground.svg16
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/police.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/post.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/prison.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/rail-light.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/rail-metro.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/rail.svg49
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/ranger-station.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/recycling.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/religious-christian.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/religious-jewish.svg7
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/religious-muslim.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/residential-community.svg8
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/restaurant.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/roadblock.svg7
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/rocket.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/school.svg7
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/scooter.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/shelter.svg7
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/shop.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/skiing.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/slaughterhouse.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/snowmobile.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/soccer.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/square-stroked.svg8
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/square.svg7
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/stadium.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/star-stroked.svg9
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/star.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/suitcase.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/sushi.svg19
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/swimming.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/teahouse.svg8
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/telephone.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/tennis.svg16
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/theatre.svg13
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/toilet.svg16
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/town-hall.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/town.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/triangle-stroked.svg12
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/triangle.svg11
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/veterinary.svg18
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/village.svg4
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/volcano.svg16
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/warehouse.svg9
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/waste-basket.svg10
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/water.svg7
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/wetland.svg21
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/wheelchair.svg17
-rw-r--r--src/plugins/geoservices/mapbox/maki-4.0.0/zoo.svg15
-rw-r--r--src/plugins/geoservices/mapbox/mapbox.pro16
-rw-r--r--src/plugins/geoservices/mapbox/mapbox.qrc150
-rw-r--r--src/plugins/geoservices/mapbox/mapbox_plugin.json6
-rw-r--r--src/plugins/geoservices/mapbox/qgeoroutingmanagerenginemapbox.cpp15
-rw-r--r--src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp13
-rw-r--r--src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp5
-rw-r--r--src/plugins/geoservices/mapbox/qmapboxcommon.cpp140
-rw-r--r--src/plugins/geoservices/mapbox/qmapboxcommon.h71
-rw-r--r--src/plugins/geoservices/mapbox/qplacecategoriesreplymapbox.cpp66
-rw-r--r--src/plugins/geoservices/mapbox/qplacecategoriesreplymapbox.h62
-rw-r--r--src/plugins/geoservices/mapbox/qplacemanagerenginemapbox.cpp318
-rw-r--r--src/plugins/geoservices/mapbox/qplacemanagerenginemapbox.h102
-rw-r--r--src/plugins/geoservices/mapbox/qplacesearchreplymapbox.cpp230
-rw-r--r--src/plugins/geoservices/mapbox/qplacesearchreplymapbox.h71
-rw-r--r--src/plugins/geoservices/mapbox/qplacesearchsuggestionreplymapbox.cpp120
-rw-r--r--src/plugins/geoservices/mapbox/qplacesearchsuggestionreplymapbox.h70
163 files changed, 3216 insertions, 16 deletions
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/LICENSE.txt b/src/plugins/geoservices/mapbox/maki-4.0.0/LICENSE.txt
new file mode 100644
index 00000000..670154e3
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/LICENSE.txt
@@ -0,0 +1,116 @@
+CC0 1.0 Universal
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator and
+subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for the
+purpose of contributing to a commons of creative, cultural and scientific
+works ("Commons") that the public can reliably and without fear of later
+claims of infringement build upon, modify, incorporate in other works, reuse
+and redistribute as freely as possible in any form whatsoever and for any
+purposes, including without limitation commercial purposes. These owners may
+contribute to the Commons to promote the ideal of a free culture and the
+further production of creative, cultural and scientific works, or to gain
+reputation or greater distribution for their Work in part through the use and
+efforts of others.
+
+For these and/or other purposes and motivations, and without any expectation
+of additional consideration or compensation, the person associating CC0 with a
+Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
+and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
+and publicly distribute the Work under its terms, with knowledge of his or her
+Copyright and Related Rights in the Work and the meaning and intended legal
+effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not limited
+to, the following:
+
+ i. the right to reproduce, adapt, distribute, perform, display, communicate,
+ and translate a Work;
+
+ ii. moral rights retained by the original author(s) and/or performer(s);
+
+ iii. publicity and privacy rights pertaining to a person's image or likeness
+ depicted in a Work;
+
+ iv. rights protecting against unfair competition in regards to a Work,
+ subject to the limitations in paragraph 4(a), below;
+
+ v. rights protecting the extraction, dissemination, use and reuse of data in
+ a Work;
+
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+ European Parliament and of the Council of 11 March 1996 on the legal
+ protection of databases, and under any national implementation thereof,
+ including any amended or successor version of such directive); and
+
+ vii. other similar, equivalent or corresponding rights throughout the world
+ based on applicable law or treaty, and any national implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention of,
+applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
+unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
+and Related Rights and associated claims and causes of action, whether now
+known or unknown (including existing as well as future claims and causes of
+action), in the Work (i) in all territories worldwide, (ii) for the maximum
+duration provided by applicable law or treaty (including future time
+extensions), (iii) in any current or future medium and for any number of
+copies, and (iv) for any purpose whatsoever, including without limitation
+commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
+the Waiver for the benefit of each member of the public at large and to the
+detriment of Affirmer's heirs and successors, fully intending that such Waiver
+shall not be subject to revocation, rescission, cancellation, termination, or
+any other legal or equitable action to disrupt the quiet enjoyment of the Work
+by the public as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason be
+judged legally invalid or ineffective under applicable law, then the Waiver
+shall be preserved to the maximum extent permitted taking into account
+Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
+is so judged Affirmer hereby grants to each affected person a royalty-free,
+non transferable, non sublicensable, non exclusive, irrevocable and
+unconditional license to exercise Affirmer's Copyright and Related Rights in
+the Work (i) in all territories worldwide, (ii) for the maximum duration
+provided by applicable law or treaty (including future time extensions), (iii)
+in any current or future medium and for any number of copies, and (iv) for any
+purpose whatsoever, including without limitation commercial, advertising or
+promotional purposes (the "License"). The License shall be deemed effective as
+of the date CC0 was applied by Affirmer to the Work. Should any part of the
+License for any reason be judged legally invalid or ineffective under
+applicable law, such partial invalidity or ineffectiveness shall not
+invalidate the remainder of the License, and in such case Affirmer hereby
+affirms that he or she will not (i) exercise any of his or her remaining
+Copyright and Related Rights in the Work or (ii) assert any associated claims
+and causes of action with respect to the Work, in either case contrary to
+Affirmer's express Statement of Purpose.
+
+4. Limitations and Disclaimers.
+
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
+ surrendered, licensed or otherwise affected by this document.
+
+ b. Affirmer offers the Work as-is and makes no representations or warranties
+ of any kind concerning the Work, express, implied, statutory or otherwise,
+ including without limitation warranties of title, merchantability, fitness
+ for a particular purpose, non infringement, or the absence of latent or
+ other defects, accuracy, or the present or absence of errors, whether or not
+ discoverable, all to the greatest extent permissible under applicable law.
+
+ c. Affirmer disclaims responsibility for clearing rights of other persons
+ that may apply to the Work or any use thereof, including without limitation
+ any person's Copyright and Related Rights in the Work. Further, Affirmer
+ disclaims responsibility for obtaining any necessary consents, permissions
+ or other rights required for any use of the Work.
+
+ d. Affirmer understands and acknowledges that Creative Commons is not a
+ party to this document and has no duty or obligation with respect to this
+ CC0 or use of the Work.
+
+For more information, please see
+<http://creativecommons.org/publicdomain/zero/1.0/>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/aerialway.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/aerialway.svg
new file mode 100644
index 00000000..3997c5c9
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/aerialway.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M13,5H8V2.6c0.1854-0.1047,0.3325-0.2659,0.42-0.46L13.5,1.5C13.7761,1.5,14,1.2761,14,1s-0.2239-0.5-0.5-0.5L8.28,1.15
+ C8.0954,0.9037,7.8077,0.7562,7.5,0.75C7.0963,0.752,6.7334,0.9966,6.58,1.37L1.5,2C1.2239,2,1,2.2239,1,2.5S1.2239,3,1.5,3
+ l5.22-0.65C6.7967,2.4503,6.8917,2.5351,7,2.6V5H2C1.4477,5,1,5.4477,1,6v7c0,0.5523,0.4477,1,1,1h11c0.5523,0,1-0.4477,1-1V6
+ C14,5.4477,13.5523,5,13,5z M7,11H3V7h4V11z M12,11H8V7h4V11z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/airfield.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/airfield.svg
new file mode 100644
index 00000000..0c96da62
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/airfield.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="airfield-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path5" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccsccccccccccccccsc" d="M6.8182,0.6818H4.7727
+ C4.0909,0.6818,4.0909,0,4.7727,0h5.4545c0.6818,0,0.6818,0.6818,0,0.6818H8.1818c0,0,0.8182,0.5909,0.8182,1.9545V4h6v2L9,8l-0.5,5
+ l2.5,1.3182V15H4v-0.6818L6.5,13L6,8L0,6V4h6V2.6364C6,1.2727,6.8182,0.6818,6.8182,0.6818z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/airport.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/airport.svg
new file mode 100644
index 00000000..75c31b36
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/airport.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="airport-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path7712-0" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccsccc" d="M15,6.8182L15,8.5l-6.5-1
+ l-0.3182,4.7727L11,14v1l-3.5-0.6818L4,15v-1l2.8182-1.7273L6.5,7.5L0,8.5V6.8182L6.5,4.5v-3c0,0,0-1.5,1-1.5s1,1.5,1,1.5v2.8182
+ L15,6.8182z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/alcohol-shop.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/alcohol-shop.svg
new file mode 100644
index 00000000..f61dd9ae
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/alcohol-shop.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M14,4h-4v3.44l0,0c0,0,0,0,0,0.06c0.003,0.9096,0.6193,1.7026,1.5,1.93V13H11c-0.2761,0-0.5,0.2239-0.5,0.5
+ S10.7239,14,11,14h2c0.2761,0,0.5-0.2239,0.5-0.5S13.2761,13,13,13h-0.5V9.43c0.8807-0.2274,1.497-1.0204,1.5-1.93c0,0,0,0,0-0.06
+ l0,0V4z M13,7.5c0,0.5523-0.4477,1-1,1s-1-0.4477-1-1V5h2V7.5z M5.5,2.5V2C5.7761,2,6,1.7761,6,1.5S5.7761,1,5.5,1V0.5
+ C5.5,0.2239,5.2761,0,5,0H4C3.7239,0,3.5,0.2239,3.5,0.5V1C3.2239,1,3,1.2239,3,1.5S3.2239,2,3.5,2v0.5C3.5,3.93,1,5.57,1,7v6
+ c0,0.5523,0.4477,1,1,1h5c0.5318-0.0465,0.9535-0.4682,1-1V7C8,5.65,5.5,3.85,5.5,2.5z M4.5,12C3.1193,12,2,10.8807,2,9.5
+ S3.1193,7,4.5,7S7,8.1193,7,9.5S5.8807,12,4.5,12z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/america-football.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/america-football.svg
new file mode 100644
index 00000000..31003eaf
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/america-football.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M7.53,3C3.09,3,1,7.5,1,7.5S3.09,12,7.53,12S14,7.5,14,7.5S12,3,7.53,3z M11,7v1.5C11,8.7761,10.7761,9,10.5,9
+ S10,8.7761,10,8.5V8H8v0.5C8,8.7761,7.7761,9,7.5,9S7,8.7761,7,8.5V8H5v0.5C5,8.7761,4.7761,9,4.5,9S4,8.7761,4,8.5v-2
+ C4,6.2239,4.2239,6,4.5,6S5,6.2239,5,6.5V7h2V6.5C7,6.2239,7.2239,6,7.5,6S8,6.2239,8,6.5V7h2V6.5C10,6.2239,10.2239,6,10.5,6
+ S11,6.2239,11,6.5V7z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/amusement-park.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/amusement-park.svg
new file mode 100644
index 00000000..4841cb4c
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/amusement-park.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="amusement-park-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path5082" d="M7.5,0C3.919,0,1,2.919,1,6.5c0,2.3161,1.2251,4.3484,3.0566,5.5H4l-1,2h9l-1-2h-0.0566
+ C12.7749,10.8484,14,8.8161,14,6.5C14,2.919,11.081,0,7.5,0z M7.375,1.5059v3.5c-0.3108,0.026-0.6057,0.1482-0.8438,0.3496
+ L4.0566,2.8809C4.9243,2.0555,6.0851,1.5376,7.375,1.5059z M7.625,1.5059c1.2899,0.0317,2.4507,0.5496,3.3184,1.375L8.4688,5.3555
+ c-0.0007-0.0007-0.0013-0.0013-0.002-0.002C8.229,5.1532,7.9348,5.0317,7.625,5.0059V1.5059z M3.8809,3.0566l2.4746,2.4746
+ c-0.0007,0.0007-0.0013,0.0013-0.002,0.002C6.1532,5.771,6.0317,6.0652,6.0059,6.375h-3.5
+ C2.5376,5.0851,3.0555,3.9243,3.8809,3.0566z M11.1191,3.0566c0.8254,0.8676,1.3433,2.0285,1.375,3.3184h-3.5
+ c-0.026-0.3108-0.1482-0.6057-0.3496-0.8438L11.1191,3.0566z M2.5059,6.625h3.5c0.026,0.3108,0.1482,0.6057,0.3496,0.8438
+ L3.8809,9.9434C3.0555,9.0757,2.5376,7.9149,2.5059,6.625z M8.9941,6.625h3.5c-0.0317,1.2899-0.5496,2.4507-1.375,3.3184
+ L8.6445,7.4688c0.0007-0.0007,0.0013-0.0013,0.002-0.002C8.8468,7.229,8.9683,6.9348,8.9941,6.625z M6.5312,7.6445
+ c0.0007,0.0007,0.0013,0.0013,0.002,0.002C6.6716,7.7624,6.8297,7.8524,7,7.9121v3.5625c-1.1403-0.1124-2.1606-0.6108-2.9434-1.3555
+ L6.5312,7.6445z M8.4688,7.6445l2.4746,2.4746c-0.7828,0.7447-1.803,1.243-2.9434,1.3555V7.9121
+ C8.1711,7.852,8.33,7.7613,8.4688,7.6445z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/aquarium.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/aquarium.svg
new file mode 100644
index 00000000..1a5c6452
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/aquarium.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg2" inkscape:version="0.91 r13725" sodipodi:docname="aquarium-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path style="fill:#010101;" d="M10.9,11.6c-0.3-0.6-0.3-2.3,0-2.8c0.4-0.6,3.4,1.4,3.4,1.4c0.9,0.4,0.9-6.1,0-5.7
+ c0,0-3.1,2.1-3.4,1.4c-0.3-0.7-0.3-2.1,0-2.8C11.2,2.5,15,2.4,15,2.4C15,1.7,12.1,1,10.9,1S8.4,1.1,6.8,1.8C5.2,2.4,3.9,3.4,2.7,4.6
+ S0,8.2,0,8.9s1.5,2.8,3.7,3.7s3.3,1.1,4.5,1.3c1.1,0.1,2.6,0,3.9-0.3c1-0.2,2.9-0.7,2.9-1.1C15,12.3,11.2,12.2,10.9,11.6z M4.5,9.3
+ C3.7,9.3,3,8.6,3,7.8s0.7-1.5,1.5-1.5S6,7,6,7.8S5.3,9.3,4.5,9.3z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/art-gallery.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/art-gallery.svg
new file mode 100644
index 00000000..aed0ca29
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/art-gallery.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M10.71,4L7.85,1.15C7.6555,0.9539,7.339,0.9526,7.1429,1.1471C7.1419,1.1481,7.141,1.149,7.14,1.15L4.29,4H1.5
+ C1.2239,4,1,4.2239,1,4.5v9C1,13.7761,1.2239,14,1.5,14h12c0.2761,0,0.5-0.2239,0.5-0.5v-9C14,4.2239,13.7761,4,13.5,4H10.71z
+ M7.5,2.21L9.29,4H5.71L7.5,2.21z M13,13H2V5h11V13z M5,8C4.4477,8,4,7.5523,4,7s0.4477-1,1-1s1,0.4477,1,1S5.5523,8,5,8z M12,12
+ H4.5L6,9l1.25,2.5L9.5,7L12,12z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/attraction.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/attraction.svg
new file mode 100644
index 00000000..1345b6ff
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/attraction.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="attraction-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="rect7143" d="M6,2C5.446,2,5.2478,2.5045,5,3L4.5,4h-2C1.669,4,1,4.669,1,5.5v5C1,11.331,1.669,12,2.5,12h10
+ c0.831,0,1.5-0.669,1.5-1.5v-5C14,4.669,13.331,4,12.5,4h-2L10,3C9.75,2.5,9.554,2,9,2H6z M2.5,5C2.7761,5,3,5.2239,3,5.5
+ S2.7761,6,2.5,6S2,5.7761,2,5.5S2.2239,5,2.5,5z M7.5,5c1.6569,0,3,1.3431,3,3s-1.3431,3-3,3s-3-1.3431-3-3S5.8431,5,7.5,5z
+ M7.5,6.5C6.6716,6.5,6,7.1716,6,8l0,0c0,0.8284,0.6716,1.5,1.5,1.5l0,0C8.3284,9.5,9,8.8284,9,8l0,0C9,7.1716,8.3284,6.5,7.5,6.5
+ L7.5,6.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/bakery.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/bakery.svg
new file mode 100644
index 00000000..28d8081d
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/bakery.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="bakery-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path5230" inkscape:connector-curvature="0" sodipodi:nodetypes="ccssccccsccsccscsccscc" d="M5.2941,4.3824L6,9.5
+ c0,0,0,1,1,1h1c1,0,1-1,1-1l0.7059-5.1176C9.7059,3,7.5,3,7.5,3S5.291,3,5.2941,4.3824z M3.5,5C2,5,2,6,2,6l1,4h1.5
+ c0.755,0,0.7941-0.7647,0.7941-0.7647L4.5,5H3.5z M1.5,7.5c0,0-0.6176-0.0294-1.0588,0.4118C0,8.3529,0,8.7941,0,8.7941V11h0.8824
+ C2,11,2,10,2,10L1.5,7.5z"/>
+<path id="path5230-2" inkscape:connector-curvature="0" sodipodi:nodetypes="sccsccscsccscc" d="M11.5,5C13,5,13,6,13,6l-1,4h-1.5
+ c-0.755,0-0.7941-0.7647-0.7941-0.7647L10.5,5H11.5z M13.5,7.5c0,0,0.6176-0.0294,1.0588,0.4118C15,8.3529,15,8.7941,15,8.7941V11
+ h-0.8824C13,11,13,10,13,10L13.5,7.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/bank.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/bank.svg
new file mode 100644
index 00000000..1efa9edd
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/bank.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="bank-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="rect5668" d="M1,3C0.446,3,0,3.446,0,4v7c0,0.554,0.446,1,1,1h13c0.554,0,1-0.446,1-1V4c0-0.554-0.446-1-1-1H1z M1,4h1.5
+ C2.7761,4,3,4.2239,3,4.5S2.7761,5,2.5,5S2,4.7761,2,4.5L1.5,5C1.7761,5,2,5.2239,2,5.5S1.7761,6,1.5,6S1,5.7761,1,5.5V4z M7.5,4
+ C8.8807,4,10,5.567,10,7.5l0,0C10,9.433,8.8807,11,7.5,11S5,9.433,5,7.5S6.1193,4,7.5,4z M12.5,4H14v1.5C14,5.7761,13.7761,6,13.5,6
+ S13,5.7761,13,5.5S13.2239,5,13.5,5L13,4.5C13,4.7761,12.7761,5,12.5,5S12,4.7761,12,4.5S12.2239,4,12.5,4z M7.5,5.5
+ c-0.323,0-0.5336,0.1088-0.6816,0.25h1.3633C8.0336,5.6088,7.823,5.5,7.5,5.5z M6.625,6C6.5795,6.091,6.5633,6.1711,6.5449,6.25
+ h1.9102C8.4367,6.1711,8.4205,6.091,8.375,6H6.625z M6.5,6.5v0.25h2V6.5H6.5z M6.5,7v0.25h2V7H6.5z M6.5,7.5v0.25h2V7.5H6.5z M6.5,8
+ L6.25,8.25h2L8.5,8H6.5z M6,8.5c0,0,0.0353,0.1024,0.1016,0.25H8.375L8,8.5H6z M1.5,9C1.7761,9,2,9.2239,2,9.5S1.7761,10,1.5,10
+ L2,10.5C2,10.2239,2.2239,10,2.5,10S3,10.2239,3,10.5S2.7761,11,2.5,11H1V9.5C1,9.2239,1.2239,9,1.5,9z M6.2383,9
+ C6.2842,9.0856,6.3144,9.159,6.375,9.25h2.2676C8.7092,9.1121,8.75,9,8.75,9H6.2383z M13.5,9C13.7761,9,14,9.2239,14,9.5V11h-1.5
+ c-0.2761,0-0.5-0.2239-0.5-0.5s0.2239-0.5,0.5-0.5s0.5,0.2239,0.5,0.5l0.5-0.5C13.2239,10,13,9.7761,13,9.5S13.2239,9,13.5,9z
+ M6.5664,9.5c0.0786,0.0912,0.1647,0.1763,0.2598,0.25h1.4199C8.3462,9.6727,8.4338,9.5883,8.5,9.5H6.5664z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/bar.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/bar.svg
new file mode 100644
index 00000000..6333311a
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/bar.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="bar-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path4" inkscape:connector-curvature="0" sodipodi:nodetypes="sccsccsccszccccz" d="M7.5,1c-2,0-7,0.25-6.5,0.75L7,8v4
+ c0,1-3,0.5-3,2h7c0-1.5-3-1-3-2V8l6-6.25C14.5,1.25,9.5,1,7.5,1z M7.5,2c2.5,0,4.75,0.25,4.75,0.25L11.5,3h-8L2.75,2.25
+ C2.75,2.25,5,2,7.5,2z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/barrier.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/barrier.svg
new file mode 100644
index 00000000..1a0eb4de
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/barrier.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>barrier-15</title>
+ <path d="M13,3H2A1,1,0,0,0,1,4v6a1,1,0,0,0,1,1H3v2.5a.5.5,0,0,0,1,0V13h7v.5a.5.5,0,0,0,1,0V11h1a1,1,0,0,0,1-1V4A1,1,0,0,0,13,3Zm0,1V6L11,4ZM9.5,4,13,7.5V10L7,4Zm-4,6L2,6.5V4l6,6ZM2,10V8l2,2Zm9,2H4V11h7Zm-.207-2H9.5l-6-6h2l6,6Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/baseball.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/baseball.svg
new file mode 100644
index 00000000..572bc0b2
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/baseball.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M10,3.5C10,4.3284,9.3284,5,8.5,5S7,4.3284,7,3.5S7.6716,2,8.5,2S10,2.6716,10,3.5z M7,0.28C7,0.1254,6.8746,0,6.72,0
+ c0,0,0,0,0,0C6.6221,0.0262,6.5348,0.0821,6.47,0.16L4,4.59C3.9941,4.6331,3.9941,4.6769,4,4.72C4,4.8746,4.1254,5,4.28,5
+ c0.1015-0.0243,0.1926-0.0803,0.26-0.16L7,0.41C7.006,0.3669,7.006,0.3231,7,0.28z M12.9,14.2L12.9,14.2L10,6.39l0,0
+ C9.9526,6.1627,9.7522,5.9999,9.52,6h-5c-0.2761,0-0.5,0.2239-0.5,0.5S4.2439,7,4.52,7H7l1.45,2.51l-4.27,4.61l0,0
+ C4.0659,14.2132,3.9998,14.3527,4,14.5C4,14.7761,4.2239,15,4.5,15c0.1224-0.0006,0.2401-0.047,0.33-0.13l0,0l4.45-4.15l2.76,4l0,0
+ c0.0895,0.1592,0.2574,0.2584,0.44,0.26c0.2796,0.0002,0.5092-0.2207,0.52-0.5C12.9958,14.3787,12.961,14.281,12.9,14.2z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/basketball.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/basketball.svg
new file mode 100644
index 00000000..eb98a246
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/basketball.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M9,3.5C9,4.3284,8.3284,5,7.5,5S6,4.3284,6,3.5S6.6716,2,7.5,2S9,2.6716,9,3.5z M14,1c-0.5523,0-1,0.4477-1,1s0.4477,1,1,1
+ s1-0.4477,1-1S14.5523,1,14,1z M11.89,13.19L9,9.58V6.5h0.5c0.1669-0.0018,0.3214-0.0885,0.41-0.23l0,0l1.94-2.42l0,0l0.06-0.08l0,0
+ C11.9661,3.6909,11.9974,3.5969,12,3.5c-0.0038-0.2761-0.2308-0.4968-0.5069-0.493C11.3597,3.0088,11.2326,3.0639,11.14,3.16l0,0
+ L9.26,5.5H5.5C5.3632,5.5018,5.233,5.5596,5.14,5.66l0,0l-2,2.54l0,0C3.0599,8.2807,3.0104,8.3868,3,8.5C3,8.7761,3.2239,9,3.5,9
+ c0.1669-0.0018,0.3214-0.0885,0.41-0.23l0,0L5.74,6.5H6v3.08l-2.89,3.61l0,0c-0.0692,0.0849-0.1079,0.1905-0.11,0.3
+ c0,0.2761,0.2239,0.5,0.5,0.5c0.1669-0.0018,0.3214-0.0885,0.41-0.23l0,0l3-3.77h1.15l3,3.77l0,0
+ c0.0886,0.1415,0.2431,0.2282,0.41,0.23c0.2761,0,0.5-0.2239,0.5-0.5c-0.0021-0.1095-0.0408-0.2151-0.11-0.3l0,0H11.89z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/bbq.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/bbq.svg
new file mode 100644
index 00000000..3865e7e5
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/bbq.svg
@@ -0,0 +1,17 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>grill-15</title>
+<path d="M9.32,7.655C10.8782,7.108,11.9471,5.6506,12,4H3c0.053,1.6299,1.0978,3.0728,2.63,3.631L4.923,9.044
+ c-1.3571-0.2355-2.6482,0.6737-2.8837,2.0308s0.6737,2.6482,2.0308,2.8837C4.9927,14.1187,5.9273,13.7485,6.49,13h4.223l0.335,0.717
+ c0.0836,0.1735,0.2594,0.2836,0.452,0.283c0.0733,0.0003,0.1457-0.0158,0.212-0.047c0.2497-0.117,0.3575-0.4141,0.241-0.664
+ L9.32,7.655z M4.5,12.75c-0.6904,0-1.25-0.5596-1.25-1.25s0.5596-1.25,1.25-1.25s1.25,0.5596,1.25,1.25
+ C5.7484,12.1897,5.1897,12.7484,4.5,12.75z M6.95,12c0.2066-1.007-0.2268-2.0374-1.091-2.594L6.6,7.923
+ c0.577,0.1042,1.168,0.1042,1.745,0l1.9,4.07L6.95,12z M4.75,1C4.6119,1,4.5,1.1119,4.5,1.25c0,0.5-0.5,0.5-0.5,0.5c-1,0-1,1-1,1
+ C3,2.8881,3.1119,3,3.25,3S3.5,2.8881,3.5,2.75c0-0.5,0.5-0.5,0.5-0.5c1,0,1-1,1-1C5,1.1119,4.8881,1,4.75,1z M6.75,1
+ C6.6119,1,6.5,1.1119,6.5,1.25c0,0.5-0.5,0.5-0.5,0.5c-1,0-1,1-1,1C5,2.8881,5.1119,3,5.25,3S5.5,2.8881,5.5,2.75
+ c0-0.5,0.5-0.5,0.5-0.5c1,0,1-1,1-1C7,1.1119,6.8881,1,6.75,1z M8.75,1C8.6119,1,8.5,1.1119,8.5,1.25c0,0.5-0.5,0.5-0.5,0.5
+ c-1,0-1,1-1,1C7,2.8881,7.1119,3,7.25,3S7.5,2.8881,7.5,2.75c0-0.5,0.5-0.5,0.5-0.5c1,0,1-1,1-1C9,1.1119,8.8881,1,8.75,1z M10.75,1
+ c-0.1381,0-0.25,0.1119-0.25,0.25c0,0.5-0.5,0.5-0.5,0.5c-1,0-1,1-1,1C9,2.8881,9.1119,3,9.25,3S9.5,2.8881,9.5,2.75
+ c0-0.5,0.5-0.5,0.5-0.5c1,0,1-1,1-1C11,1.1119,10.8881,1,10.75,1z M12.75,1c-0.1381,0-0.25,0.1119-0.25,0.25c0,0.5-0.5,0.5-0.5,0.5
+ c-1,0-1,1-1,1C11,2.8881,11.1119,3,11.25,3s0.25-0.1119,0.25-0.25c0-0.5,0.5-0.5,0.5-0.5c1,0,1-1,1-1C13,1.1119,12.8881,1,12.75,1z"
+ />
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/beer.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/beer.svg
new file mode 100644
index 00000000..04fbce58
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/beer.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M12,5V2c0,0-1-1-4.5-1S3,2,3,2v3c0.0288,1.3915,0.3706,2.7586,1,4c0.6255,1.4348,0.6255,3.0652,0,4.5c0,0,0,1,3.5,1
+ s3.5-1,3.5-1c-0.6255-1.4348-0.6255-3.0652,0-4.5C11.6294,7.7586,11.9712,6.3915,12,5z M7.5,13.5
+ c-0.7966,0.035-1.5937-0.0596-2.36-0.28c0.203-0.7224,0.304-1.4696,0.3-2.22h4.12c-0.004,0.7504,0.097,1.4976,0.3,2.22
+ C9.0937,13.4404,8.2966,13.535,7.5,13.5z M7.5,5C6.3136,5.0299,5.1306,4.8609,4,4.5v-2C5.131,2.1411,6.3137,1.9722,7.5,2
+ C8.6863,1.9722,9.869,2.1411,11,2.5v2C9.8694,4.8609,8.6864,5.0299,7.5,5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/bicycle-share.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/bicycle-share.svg
new file mode 100644
index 00000000..15fbbe27
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/bicycle-share.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="bike-share-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview3364" inkscape:current-layer="svg4619" inkscape:cx="0.18747857" inkscape:cy="7.9979934" inkscape:document-units="px" inkscape:object-nodes="true" inkscape:object-paths="true" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:snap-bbox="true" inkscape:snap-intersection-paths="true" inkscape:snap-smooth-nodes="true" inkscape:window-height="755" inkscape:window-maximized="0" inkscape:window-width="1280" inkscape:window-x="0" inkscape:window-y="23" inkscape:zoom="1" objecttolerance="10" pagecolor="#ffffff" showgrid="false">
+ <inkscape:grid color="#ff0000" empspacing="2" id="grid3368" opacity="0.1254902" spacingx="0.5" spacingy="0.5" type="xygrid">
+ </inkscape:grid>
+</sodipodi:namedview>
+<path id="circle4604" inkscape:connector-curvature="0" sodipodi:nodetypes="sssssccccccccccccccccccccssssssssssssssssssss" d="
+ M10,1C9.4477,1,9,1.4477,9,2c0,0.5523,0.4477,1,1,1s1-0.4477,1-1C11,1.4477,10.5523,1,10,1z M8.1445,2.9941
+ c-0.13,0.0005-0.2547,0.0517-0.3477,0.1426l-2.6406,2.5c-0.2256,0.2128-0.2051,0.5775,0.043,0.7637L7,7.75v2.75
+ c-0.01,0.6762,1.0096,0.6762,1,0v-3c0.0003-0.1574-0.0735-0.3057-0.1992-0.4004L7.0332,6.5234l1.818-1.7212l0.7484,0.9985
+ C9.6943,5.9265,9.8426,6.0003,10,6h1.5c0.6761,0.01,0.6761-1.0096,0-1h-1.25L9.5,4L8.9004,3.1992
+ C8.8103,3.0756,8.6685,3,8.5156,2.9941H8.1445z M3,7c-1.6569,0-3,1.3432-3,3s1.3431,3,3,3s3-1.3432,3-3S4.6569,7,3,7z M12,7
+ c-1.6569,0-3,1.3432-3,3s1.3431,3,3,3s3-1.3432,3-3S13.6569,7,12,7z M3,8c1.1046,0,2,0.8954,2,2s-0.8954,2-2,2s-2-0.8954-2-2
+ S1.8954,8,3,8z M12,8c1.1046,0,2,0.8954,2,2s-0.8954,2-2,2s-2-0.8954-2-2S10.8954,8,12,8z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/bicycle.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/bicycle.svg
new file mode 100644
index 00000000..4e7cf646
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/bicycle.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="bicycle-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview3364" inkscape:current-layer="svg4619" inkscape:cx="4.6281545" inkscape:cy="10.703675" inkscape:document-units="px" inkscape:object-nodes="true" inkscape:object-paths="true" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:snap-bbox="true" inkscape:snap-intersection-paths="true" inkscape:snap-smooth-nodes="true" inkscape:window-height="755" inkscape:window-maximized="0" inkscape:window-width="1280" inkscape:window-x="0" inkscape:window-y="23" inkscape:zoom="128" objecttolerance="10" pagecolor="#ffffff" showgrid="true">
+ <inkscape:grid color="#ff0000" empspacing="2" id="grid3368" opacity="0.1254902" spacingx="0.5" spacingy="0.5" type="xygrid">
+ </inkscape:grid>
+</sodipodi:namedview>
+<path id="path4668" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccsssscccsssscccccsccccsssscssscccccc" d="
+ M7.5,2c-0.6761-0.01-0.6761,1.0096,0,1H9v1.2656l-2.8027,2.334L5.2226,4H5.5c0.6761,0.01,0.6761-1.0096,0-1h-2
+ c-0.6761-0.01-0.6761,1.0096,0,1h0.6523L5.043,6.375C4.5752,6.1424,4.0559,6,3.5,6C1.5729,6,0,7.5729,0,9.5S1.5729,13,3.5,13
+ S7,11.4271,7,9.5c0-0.6699-0.2003-1.2911-0.5293-1.8242L9.291,5.3262l0.4629,1.1602C8.7114,7.0937,8,8.2112,8,9.5
+ c0,1.9271,1.5729,3.5,3.5,3.5S15,11.4271,15,9.5S13.4271,6,11.5,6c-0.2831,0-0.5544,0.0434-0.8184,0.1074L10,4.4023V2.5
+ c0-0.2761-0.2239-0.5-0.5-0.5H7.5z M3.5,7c0.5923,0,1.1276,0.2119,1.5547,0.5527l-1.875,1.5625
+ c-0.5109,0.4273,0.1278,1.1945,0.6406,0.7695l1.875-1.5625C5.8835,8.674,6,9.0711,6,9.5C6,10.8866,4.8866,12,3.5,12S1,10.8866,1,9.5
+ S2.1133,7,3.5,7L3.5,7z M11.5,7C12.8866,7,14,8.1134,14,9.5S12.8866,12,11.5,12S9,10.8866,9,9.5c0-0.877,0.4468-1.6421,1.125-2.0879
+ l0.9102,2.2734c0.246,0.6231,1.1804,0.2501,0.9297-0.3711l-0.9082-2.2695C11.2009,7.0193,11.3481,7,11.5,7L11.5,7z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/blood-bank.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/blood-bank.svg
new file mode 100644
index 00000000..b1a1b11a
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/blood-bank.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<title>blood-bank-15</title>
+<path d="M11.2,7.1L11.2,7.1L7.5,2L3.8,7.1h0C3.3,7.8,3,8.7,3,9.6C3,12,5,14,7.5,14c0,0,0,0,0,0C10,14,12,12,12,9.6c0,0,0,0,0,0
+ C12,8.7,11.7,7.8,11.2,7.1z M10,10H8v2H7v-2H5V9h2V7h1v2h2V10z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/buddhism.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/buddhism.svg
new file mode 100644
index 00000000..83b222c4
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/buddhism.svg
@@ -0,0 +1,24 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+ width="15px" height="15px" viewBox="0 0 15 15">
+<path d="M13.4978,6.9989h-0.5329c-0.09997-1.10708-0.53528-2.15731-1.2478-3.0105l0.378-0.3784
+ c0.19605-0.19447,0.19733-0.51105,0.00286-0.7071C11.90698,2.71037,11.59733,2.70518,11.4,2.8912l0,0l-0.0123,0.0123L11.01,3.2815
+ c-0.85331-0.71298-1.90385-1.14864-3.0113-1.2488V1.5c0-0.27614-0.22386-0.5-0.5-0.5s-0.5,0.22386-0.5,0.5v0.5327
+ C5.8916,2.13306,4.84144,2.56871,3.9884,3.2815L3.61,2.9C3.41007,2.70952,3.09358,2.71717,2.9031,2.9171
+ c-0.184,0.19312-0.184,0.49668,0,0.6898l0.3784,0.3775C2.56787,4.83856,2.13216,5.89031,2.0327,6.9989H1.5
+ c-0.27614,0-0.5,0.22386-0.5,0.5s0.22386,0.5,0.5,0.5h0.5327c0.09987,1.10695,0.535,2.15711,1.2473,3.0103l-0.3779,0.3779
+ c-0.19538,0.19514-0.19557,0.51173-0.00043,0.70711c0.19053,0.19076,0.49798,0.19611,0.69503,0.01209L3.609,12.094l0.3779-0.3779
+ c0.8533,0.71312,1.90395,1.1488,3.0115,1.2488v0.5329c0,0.27614,0.22386,0.5,0.5,0.5s0.5-0.22386,0.5-0.5v-0.5329
+ c1.10719-0.10026,2.15744-0.53592,3.0105-1.2488l0.3779,0.3779c0.19514,0.19538,0.51173,0.19557,0.70711,0.00043
+ c0.19076-0.19053,0.19611-0.49798,0.01209-0.69503l-0.0123-0.0123l0,0l-0.3779-0.3779c0.71283-0.8531,1.14848-1.90333,1.2488-3.0105
+ h0.5329c0.27609-0.00544,0.49549-0.23366,0.49006-0.50975C13.98227,7.22064,13.76611,7.00435,13.4978,6.9989z M7.9987,3.0505
+ c0.83871,0.09248,1.63383,0.42154,2.2926,0.9488l-2.15,2.15c-0.04663-0.0218-0.09436-0.04116-0.143-0.058V3.0505H7.9987z
+ M6.9987,3.0505V6.091c-0.04864,0.01684-0.09637,0.0362-0.143,0.058l-2.15-2.15c0.65897-0.52726,1.45431-0.85622,2.2932-0.9485
+ H6.9987z M3.9987,4.7062l2.15,2.15c-0.0218,0.04663-0.04116,0.09436-0.058,0.143H3.0505
+ c0.09243-0.83886,0.42154-1.63413,0.9489-2.293L3.9987,4.7062z M3.0505,7.9987H6.091c0.01687,0.04863,0.03623,0.09636,0.058,0.143
+ l-2.15,2.15C3.47173,9.63281,3.14276,8.83753,3.0505,7.9987z M6.9989,11.9471c-0.83871-0.09248-1.63383-0.42154-2.2926-0.9488
+ l2.15-2.15c0.04663,0.0218,0.09436,0.04116,0.143,0.058v3.0405L6.9989,11.9471z M7.9989,11.9471V8.9066
+ c0.04864-0.01683,0.09638-0.03619,0.143-0.058l2.15,2.15c-0.65895,0.5273-1.4543,0.85627-2.2932,0.9485H7.9989z M10.9989,10.2914
+ l-2.15-2.15c0.02177-0.04664,0.04113-0.09437,0.058-0.143h3.0415c-0.09276,0.83901-0.42232,1.6343-0.9502,2.293H10.9989z
+ M8.9066,6.9989c-0.01684-0.04864-0.0362-0.09637-0.058-0.143l2.15-2.15c0.52726,0.65877,0.85632,1.45389,0.9488,2.2926H8.9066
+ V6.9989z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/building-alt1.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/building-alt1.svg
new file mode 100644
index 00000000..e9ff5abc
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/building-alt1.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<title>buildings</title>
+<path d="M11,13.5v-9C11,4.2,10.8,4,10.5,4H9V1L5,2.1v11.4H2V14h11v-0.5H11z M7,13.5V3h1v10.5H7z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/building.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/building.svg
new file mode 100644
index 00000000..3c12da77
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/building.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M3,2v11h5v-3h3v3h1V2H3z M7,12H4v-2h3V12z M7,9H4V7h3V9z M7,6H4V4h3V6z M11,9H8V7h3V9z M11,6H8V4h3V6z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/bus.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/bus.svg
new file mode 100644
index 00000000..49dca840
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/bus.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="bus-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path8043" d="M4,0C2.6364,0,1,0.7433,1,2.7461v5.4531V12c0,0,0,1,1,1v1c0,0,0,1,1,1s1-1,1-1v-1h7v1c0,0,0,1,1,1s1-1,1-1v-1
+ c0,0,1,0,1-1V2.7461C14,0.7006,12.764,0,11.4004,0H4z M4.25,1.5h6.5C10.8885,1.5,11,1.6115,11,1.75S10.8885,2,10.75,2h-6.5
+ C4.1115,2,4,1.8885,4,1.75S4.1115,1.5,4.25,1.5z M3,3h9c1,0,1,0.9668,1,0.9668V7c0,0,0,1-1,1H3C2,8,2,7,2,7V4C2,4,2,3,3,3z M3,10
+ c0.5523,0,1,0.4477,1,1s-0.4477,1-1,1s-1-0.4477-1-1S2.4477,10,3,10z M12,10c0.5523,0,1,0.4477,1,1s-0.4477,1-1,1s-1-0.4477-1-1
+ S11.4477,10,12,10z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/cafe.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/cafe.svg
new file mode 100644
index 00000000..d333ac80
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/cafe.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M12,5h-2V3H2v4c0.0133,2.2091,1.8149,3.9891,4.024,3.9758C7.4345,10.9673,8.7362,10.2166,9.45,9H12c1.1046,0,2-0.8954,2-2
+ S13.1046,5,12,5z M12,8H9.86C9.9487,7.6739,9.9958,7.3379,10,7V6h2c0.5523,0,1,0.4477,1,1S12.5523,8,12,8z M10,12.5
+ c0,0.2761-0.2239,0.5-0.5,0.5h-7C2.2239,13,2,12.7761,2,12.5S2.2239,12,2.5,12h7C9.7761,12,10,12.2239,10,12.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/campsite.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/campsite.svg
new file mode 100644
index 00000000..74cbe9fd
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/campsite.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="campsite-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="rect3335" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccc" style="fill:#010101;" d="M7,1.5
+ l-5.5,9H1c-1,0-1,1-1,1v1c0,0,0,1,1,1h13c1,0,1-1,1-1v-1c0,0,0-1-1-1h-0.5L8,1.5C7.8,1.1,7.2,1.1,7,1.5z M7.5,5l3.2,5.5H4.2L7.5,5z"
+ />
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/car.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/car.svg
new file mode 100644
index 00000000..9e08b702
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/car.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M14,7c-0.004-0.6904-0.4787-1.2889-1.15-1.45l-1.39-3.24l0,0l0,0l0,0C11.3833,2.1233,11.2019,2.001,11,2H4
+ C3.8124,2.0034,3.6425,2.1115,3.56,2.28l0,0l0,0l0,0L2.15,5.54C1.475,5.702,0.9994,6.3059,1,7v3.5h1v1c0,0.5523,0.4477,1,1,1
+ s1-0.4477,1-1v-1h7v1c0,0.5523,0.4477,1,1,1s1-0.4477,1-1v-1h1V7z M4.3,3h6.4l1.05,2.5h-8.5L4.3,3z M3,9C2.4477,9,2,8.5523,2,8
+ s0.4477-1,1-1s1,0.4477,1,1S3.5523,9,3,9z M12,9c-0.5523,0-1-0.4477-1-1s0.4477-1,1-1s1,0.4477,1,1S12.5523,9,12,9z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/castle.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/castle.svg
new file mode 100644
index 00000000..f3994d8d
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/castle.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M11,4H4C3.4477,4,3,3.5523,3,3V0.5C3,0.2239,3.2239,0,3.5,0S4,0.2239,4,0.5V2h1V1c0-0.5523,0.4477-1,1-1s1,0.4477,1,1v1h1V1
+ c0-0.5523,0.4477-1,1-1s1,0.4477,1,1v1h1V0.5C11,0.2239,11.2239,0,11.5,0S12,0.2239,12,0.5V3C12,3.5523,11.5523,4,11,4z M14,14.5
+ c0,0.2761-0.2239,0.5-0.5,0.5h-12C1.2239,15,1,14.7761,1,14.5S1.2239,14,1.5,14H2c0.5523,0,1-0.4477,1-1c0,0,1-6,1-7
+ c0-0.5523,0.4477-1,1-1h5c0.5523,0,1,0.4477,1,1c0,1,1,7,1,7c0,0.5523,0.4477,1,1,1h0.5c0.2723-0.0001,0.4946,0.2178,0.5,0.49V14.5z
+ M9,10.5C9,9.6716,8.3284,9,7.5,9S6,9.6716,6,10.5V14h3V10.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/cemetery.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/cemetery.svg
new file mode 100644
index 00000000..8ae91032
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/cemetery.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M11.46,12h-0.68L12,3.55c0.0175-0.2867-0.2008-0.5332-0.4874-0.5507C11.4884,2.9979,11.4641,2.9981,11.44,3h-1.18
+ c0-0.92-1.23-2-2.75-2S4.77,2.08,4.77,3H3.54C3.253,2.9885,3.0111,3.2117,2.9995,3.4987C2.9988,3.5158,2.999,3.5329,3,3.55L4.2,12
+ H3.55C3.2609,11.9886,3.0162,12.2112,3,12.5V14h9v-1.51C11.9839,12.2067,11.7435,11.9886,11.46,12z M4.5,5h6v1h-6V5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/cinema.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/cinema.svg
new file mode 100644
index 00000000..b38733e3
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/cinema.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M14,7.5v2c0,0.2761-0.2239,0.5-0.5,0.5S13,9.7761,13,9.5c0,0,0.06-0.5-1-0.5h-1v2.5c0,0.2761-0.2239,0.5-0.5,0.5h-8
+ C2.2239,12,2,11.7761,2,11.5v-4C2,7.2239,2.2239,7,2.5,7h8C10.7761,7,11,7.2239,11,7.5V8h1c1.06,0,1-0.5,1-0.5
+ C13,7.2239,13.2239,7,13.5,7S14,7.2239,14,7.5z M4,3C2.8954,3,2,3.8954,2,5s0.8954,2,2,2s2-0.8954,2-2S5.1046,3,4,3z M4,6
+ C3.4477,6,3,5.5523,3,5s0.4477-1,1-1s1,0.4477,1,1S4.5523,6,4,6z M8.5,2C7.1193,2,6,3.1193,6,4.5S7.1193,7,8.5,7S11,5.8807,11,4.5
+ S9.8807,2,8.5,2z M8.5,6C7.6716,6,7,5.3284,7,4.5S7.6716,3,8.5,3S10,3.6716,10,4.5S9.3284,6,8.5,6z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/circle-stroked.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/circle-stroked.svg
new file mode 100644
index 00000000..92997dde
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/circle-stroked.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="circle-stroked-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path8564-5-6-4" inkscape:connector-curvature="0" d="M7.5,0C11.6422,0,15,3.3578,15,7.5S11.6422,15,7.5,15
+ S0,11.6422,0,7.5S3.3578,0,7.5,0z M7.5,1.6666c-3.2217,0-5.8333,2.6117-5.8333,5.8334S4.2783,13.3334,7.5,13.3334
+ s5.8333-2.6117,5.8333-5.8334S10.7217,1.6666,7.5,1.6666z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/circle.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/circle.svg
new file mode 100644
index 00000000..cf07ba4c
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/circle.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M14,7.5c0,3.5899-2.9101,6.5-6.5,6.5S1,11.0899,1,7.5S3.9101,1,7.5,1S14,3.9101,14,7.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/city.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/city.svg
new file mode 100644
index 00000000..08cb18e1
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/city.svg
@@ -0,0 +1,14 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+ width="15px" height="15px" viewBox="0 0 15 15">
+<path d="M13.6368,3.9994h-1.6387V1.3608C11.99804,1.16148,11.83642,0.99994,11.6371,1l0,0h-0.278
+ c-0.19932,0-0.3609,0.16158-0.3609,0.3609l0,0v2.6385H9.36c-0.19932,0-0.3609,0.16158-0.3609,0.3609l0,0l0,0v5.6381h-3.637
+ c-0.20042,0-0.3629,0.16248-0.3629,0.3629v3.2745c0.00055,0.20003,0.16287,0.3619,0.3629,0.3619h8.2747
+ c0.19932,0,0.3609-0.16158,0.3609-0.3609l0,0V4.36c0-0.19932-0.16158-0.3609-0.3609-0.3609l0,0L13.6368,3.9994z M6.9989,11.9981h-1
+ v-1h1V11.9981z M8.9989,11.9981h-1v-1h1V11.9981z M10.9989,11.9981h-1v-1h1V11.9981z M10.9989,9.9981h-1v-1h1V9.9981z
+ M10.9989,7.9981h-1v-1h1V7.9981z M10.9989,5.9981h-1v-1h1V5.9981z M12.9989,11.9971h-1v-1h1V11.9971z M12.9989,9.9971h-1v-1h1
+ V9.9971z M12.9989,7.9971h-1v-1h1V7.9971z M12.9989,5.9971h-1v-1h1V5.9971z M7.9987,1.3608C7.99864,1.16152,7.83708,1,7.6378,1H5.36
+ C5.16068,1,4.9991,1.16158,4.9991,1.3609l0,0V3H3.36C3.16138,3.00049,3.00049,3.16138,3,3.36l0,0v0.6394H1.3608
+ C1.16164,3.99945,1.00017,4.16084,1,4.36l0,0v9.2765c0,0.19932,0.16158,0.3609,0.3609,0.3609h2.6385V8.9986h3.9993V1.3608z
+ M3,11.9981H2v-1h1V11.9981z M3,9.9981H2v-1h1V9.9981z M3,7.9981H2v-1h1V7.9981z M3,5.9981H2v-1h1V5.9981z M5,7.9981H4v-1h1V7.9981z
+ M5,5.9981H4v-1h1V5.9981z M7,7.9981H6v-1h1V7.9981z M7,5.9981H6v-1h1V5.9981z M7,3.9981H6V3h1v1V3.9981z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/clothing-store.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/clothing-store.svg
new file mode 100644
index 00000000..63fb1abf
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/clothing-store.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="clothing-store-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="rect4181-0-0" inkscape:connector-curvature="0" inkscape:export-filename="/Users/MapBox/Desktop/clothing-store.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" sodipodi:nodetypes="cccccccccccccc" d="
+ M3.5,1L0,4v3h2.9L3,14h9V7h3V4l-3.5-3H10L7.5,5L5,1H3.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/college.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/college.svg
new file mode 100644
index 00000000..f584f737
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/college.svg
@@ -0,0 +1,5 @@
+<svg id="svg4619" xmlns="http://www.w3.org/2000/svg" width="15px" height="15px" viewBox="0 0 15 15">
+<path d="M7.5,1L0,4.5l2,0.9v1.7C1.4,7.3,1,7.9,1,8.5s0.4,1.2,1,1.4V10l-0.9,2.1
+ C0.8,13,1,14,2.5,14s1.7-1,1.4-1.9L3,10c0.6-0.3,1-0.8,1-1.5S3.6,7.3,3,7.1V5.9L7.5,8L15,4.5L7.5,1z M11.9,7.5l-4.5,2L5,8.4v0.1
+ c0,0.7-0.3,1.3-0.8,1.8l0.6,1.4v0.1C4.9,12.2,5,12.6,4.9,13c0.7,0.3,1.5,0.5,2.5,0.5c3.3,0,4.5-2,4.5-3L11.9,7.5L11.9,7.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/commercial.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/commercial.svg
new file mode 100644
index 00000000..316a578e
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/commercial.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M14,7H1c0.0881-1.3829,0.427-2.7383,1-4h11C13.5731,4.2617,13.9119,5.6171,14,7z M3,8h9v6h-1V9H8v5H3V8z M4,11h3V9H4V11z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/cricket.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/cricket.svg
new file mode 100644
index 00000000..80230cbd
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/cricket.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M8,1.5C8,2.3284,7.3284,3,6.5,3S5,2.3284,5,1.5S5.6716,0,6.5,0S8,0.6716,8,1.5z M10.88,7.18L10.88,7.18l-2-2l0,0l0,0
+ C8.7815,5.0616,8.6339,4.9952,8.48,5H3.75C3.3736,4.9915,3.0508,5.2669,3,5.64l0,0l-1,7.7l0,0c-0.0068,0.0464-0.0068,0.0936,0,0.14
+ c0,0.2761,0.2239,0.5,0.5,0.5c0.2251,0.0153,0.4315-0.1251,0.5-0.34l0,0l1.2-3.89l0,0l0.26-0.83l0.4,0.44l0,0L6,10.6v2.9
+ C6,13.7761,6.2239,14,6.5,14S7,13.7761,7,13.5v-3l0,0l0,0c-0.0081-0.0788-0.0356-0.1544-0.08-0.22l0,0L5.48,8.5l1-2.5h1.71l2,1.84
+ l0,0c0.0928,0.1077,0.2278,0.1697,0.37,0.17C10.8163,7.9791,11.007,7.7581,11,7.5C10.9997,7.3824,10.9571,7.2688,10.88,7.18z
+ M14,11.27c-0.4142,0-0.75,0.3358-0.75,0.75s0.3358,0.75,0.75,0.75s0.75-0.3358,0.75-0.75S14.4142,11.27,14,11.27z M10.76,9.74V9
+ c0-0.1381-0.1119-0.25-0.25-0.25S10.26,8.8619,10.26,9v0.74c-0.1522,0.0855-0.2474,0.2455-0.25,0.42v3.34
+ c0,0.2761,0.2239,0.5,0.5,0.5s0.5-0.2239,0.5-0.5v-3.34C11.0074,9.9855,10.9122,9.8255,10.76,9.74z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/cross.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/cross.svg
new file mode 100644
index 00000000..7d302d80
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/cross.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M2.64,1.27L7.5,6.13l4.84-4.84C12.5114,1.1076,12.7497,1.0029,13,1c0.5523,0,1,0.4477,1,1
+ c0.0047,0.2478-0.093,0.4866-0.27,0.66L8.84,7.5l4.89,4.89c0.1648,0.1612,0.2615,0.3796,0.27,0.61c0,0.5523-0.4477,1-1,1
+ c-0.2577,0.0107-0.508-0.0873-0.69-0.27L7.5,8.87l-4.85,4.85C2.4793,13.8963,2.2453,13.9971,2,14c-0.5523,0-1-0.4477-1-1
+ c-0.0047-0.2478,0.093-0.4866,0.27-0.66L6.16,7.5L1.27,2.61C1.1052,2.4488,1.0085,2.2304,1,2c0-0.5523,0.4477-1,1-1
+ C2.2404,1.0029,2.4701,1.0998,2.64,1.27z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/dam.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/dam.svg
new file mode 100644
index 00000000..a9be122c
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/dam.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M13.94,9.5c0,0.2761-0.2239,0.5-0.5,0.5l0,0c-0.259,0.0219-0.4994,0.1439-0.67,0.34c-0.2714,0.2887-0.6175,0.4964-1,0.6
+ c-0.6115,0.1816-1.2734,0.0424-1.76-0.37l-0.39-0.35c-0.2976-0.3038-0.7851-0.3087-1.0889-0.0111
+ C8.5274,10.2126,8.5237,10.2163,8.52,10.22c-0.14,0.12-0.27,0.25-0.42,0.37c-0.7278,0.5784-1.7663,0.5489-2.46-0.07L5.3,10.19
+ l-0.1-0.06l0.3,1.22l0.49,2c0.0829,0.2634-0.0634,0.5441-0.3267,0.6271C5.6105,13.9937,5.5553,14.0014,5.5,14h-4
+ C1.2239,14,1,13.7761,1,13.5v-12C1,1.2239,1.2239,1,1.5,1h1.1c0.2346-0.0011,0.4384,0.1611,0.49,0.39L4,5.06V5.2
+ c0.6569-0.314,1.4361-0.2205,2,0.24c0.16,0.13,0.31,0.28,0.47,0.41c0.2847,0.2546,0.7153,0.2546,1,0c0.16-0.13,0.31-0.28,0.47-0.41
+ c0.7076-0.5968,1.7424-0.5968,2.45,0c0.15,0.13,0.29,0.27,0.44,0.39c0.2847,0.2546,0.7153,0.2546,1,0l0.47-0.41
+ c0.3163-0.2672,0.7159-0.4157,1.13-0.42l0,0c0.2761,0,0.5,0.2239,0.5,0.5S13.7061,6,13.43,6l0,0
+ c-0.259,0.0219-0.4994,0.1439-0.67,0.34c-0.2714,0.2887-0.6175,0.4964-1,0.6C11.1485,7.1216,10.4866,6.9824,10,6.57L9.67,6.23
+ C9.3724,5.9262,8.8849,5.9213,8.5811,6.2189C8.5774,6.2226,8.5737,6.2263,8.57,6.23C8.43,6.35,8.3,6.48,8.15,6.6
+ C7.4222,7.1784,6.3837,7.1489,5.69,6.53L5.3,6.19c-0.2847-0.2546-0.7153-0.2546-1,0L4.24,6.24L4.93,9
+ C5.3226,9.029,5.6965,9.1793,6,9.43c0.16,0.13,0.31,0.28,0.47,0.41c0.2847,0.2546,0.7153,0.2546,1,0c0.16-0.13,0.31-0.28,0.47-0.41
+ c0.7076-0.5968,1.7424-0.5968,2.45,0c0.15,0.13,0.29,0.27,0.44,0.39c0.2847,0.2546,0.7153,0.2546,1,0l0.47-0.41
+ c0.3177-0.2636,0.7172-0.4085,1.13-0.41l0,0c0.2761-0.0055,0.5044,0.2138,0.5099,0.4899C13.94,9.4933,13.94,9.4966,13.94,9.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/danger.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/danger.svg
new file mode 100644
index 00000000..e0036920
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/danger.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M13.94,14.68c-0.0749,0.194-0.262,0.3215-0.47,0.32c-0.0595,0.0107-0.1205,0.0107-0.18,0L7.5,12.56L1.7,15
+ c-0.2572,0.1005-0.5472-0.0266-0.6476-0.2838C1.0516,14.7141,1.0508,14.7121,1.05,14.71c-0.1291-0.2441-0.0358-0.5467,0.2084-0.6757
+ C1.2845,14.0205,1.3118,14.009,1.34,14l4.85-2l-4.85-2C1.0758,9.9197,0.9267,9.6404,1.007,9.3762s0.3596-0.4133,0.6238-0.333
+ C1.6545,9.0504,1.6776,9.0594,1.7,9.07l5.8,2.41l5.8-2.41c0.2494-0.1185,0.5477-0.0124,0.6662,0.237
+ c0.1185,0.2494,0.0124,0.5477-0.237,0.6662C13.7068,9.9839,13.6837,9.9928,13.66,10L8.8,12l4.85,2
+ c0.2607,0.091,0.3983,0.3761,0.3074,0.6368C13.9523,14.6515,13.9465,14.6659,13.94,14.68z M12,4.23v0.45
+ c-0.0021,0.2129-0.0722,0.4196-0.2,0.59C11.2414,5.8883,10.6399,6.4664,10,7v1.16c0.0015,0.208-0.126,0.3951-0.32,0.47L7.52,9.5
+ H7.45L5.28,8.63C5.1016,8.5428,4.9917,8.3584,5,8.16V7C4.3528,6.4675,3.7446,5.8893,3.18,5.27C3.0593,5.0972,2.9963,4.8907,3,4.68
+ V4.23C3.1669,2.0117,4.8974,0.2307,7.11,0h0.36l0,0h0.39C10.0862,0.2131,11.8348,1.9997,12,4.23z M6,4c0-0.5523-0.4477-1-1-1
+ S4,3.4477,4,4s0.4477,1,1,1S6,4.5523,6,4z M7,7c0-0.2761-0.2239-0.5-0.5-0.5S6,6.7239,6,7v0.5C6,7.7761,6.2239,8,6.5,8
+ S7,7.7761,7,7.5V7z M9,7c0-0.2761-0.2239-0.5-0.5-0.5S8,6.7239,8,7v0.5C8,7.7761,8.2239,8,8.5,8S9,7.7761,9,7.5V7z M11,4
+ c0-0.5523-0.4477-1-1-1S9,3.4477,9,4s0.4477,1,1,1S11,4.5523,11,4z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/defibrillator.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/defibrillator.svg
new file mode 100644
index 00000000..559174ff
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/defibrillator.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>defibrillator-15</title>
+ <path d="M1.55,6.3381C-0.8368,1.7416,5.18-1.3228,7.502,3.2737c2.3215-4.5965,8.3387-1.5322,5.9523,3.0644-0.0869.1671-.2028,0.3456-0.3114,0.5212H11.335L9.5205,4.1377A0.6252,0.6252,0,0,0,8.42,4.2524l-1.6484,4.12-1.33-1.33A0.6254,0.6254,0,0,0,5,6.8594H1.8611C1.7525,6.6837,1.6366,6.5052,1.55,6.3381ZM11,8.1094a0.6263,0.6263,0,0,1-.5205-0.2783L9.1387,5.82,7.58,9.7168a0.6245,0.6245,0,0,1-.4546.38A0.6047,0.6047,0,0,1,7,10.1094a0.6251,0.6251,0,0,1-.4419-0.1826L4.7412,8.1094H2.7358a42.67,42.67,0,0,0,4.46,4.6732,0.4642,0.4642,0,0,0,.6222,0,43.26,43.26,0,0,0,4.4505-4.6732H11Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/dentist.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/dentist.svg
new file mode 100644
index 00000000..743f9071
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/dentist.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M4.36,14c-1,0-0.56-2.67-0.86-5c-0.1-0.76-1-1.49-1.12-2.06C2,5,1.39,1.44,3.66,1S6,3,7.54,3s1.57-2.36,3.85-2
+ s1.59,3.9,1.29,5.9c-0.1,0.45-1.1,1.48-1.18,2.06c-0.33,2.4,0.32,5-0.8,5c-0.93,0-1.32-2.72-2-4.5C8.43,8.63,8.06,8,7.54,8
+ C6,8,5.75,14,4.36,14z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/doctor.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/doctor.svg
new file mode 100644
index 00000000..da88245e
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/doctor.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M5.5,7C4.1193,7,3,5.8807,3,4.5l0,0v-2C3,2.2239,3.2239,2,3.5,2H4c0.2761,0,0.5-0.2239,0.5-0.5S4.2761,1,4,1H3.5
+ C2.6716,1,2,1.6716,2,2.5v2c0.0013,1.1466,0.5658,2.2195,1.51,2.87l0,0C4.4131,8.1662,4.9514,9.297,5,10.5C5,12.433,6.567,14,8.5,14
+ s3.5-1.567,3.5-3.5V9.93c1.0695-0.2761,1.7126-1.367,1.4365-2.4365C13.1603,6.424,12.0695,5.7809,11,6.057
+ C9.9305,6.3332,9.2874,7.424,9.5635,8.4935C9.7454,9.198,10.2955,9.7481,11,9.93v0.57c0,1.3807-1.1193,2.5-2.5,2.5S6,11.8807,6,10.5
+ c0.0511-1.2045,0.5932-2.3356,1.5-3.13l0,0C8.4404,6.7172,9.001,5.6448,9,4.5v-2C9,1.6716,8.3284,1,7.5,1H7
+ C6.7239,1,6.5,1.2239,6.5,1.5S6.7239,2,7,2h0.5C7.7761,2,8,2.2239,8,2.5v2l0,0C8,5.8807,6.8807,7,5.5,7 M11.5,9
+ c-0.5523,0-1-0.4477-1-1s0.4477-1,1-1s1,0.4477,1,1S12.0523,9,11.5,9z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/dog-park.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/dog-park.svg
new file mode 100644
index 00000000..63735f9d
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/dog-park.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="svg2"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="dog-park-15.svg"
+ x="0px"
+ y="0px"
+ width="15px"
+ height="15px"
+ viewBox="0 0 15 15"
+ style="enable-background:new 0 0 15 15;"
+ xml:space="preserve"><metadata
+ id="metadata13"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs11" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1899"
+ inkscape:window-height="779"
+ id="namedview9"
+ showgrid="false"
+ inkscape:zoom="15.733333"
+ inkscape:cx="-1.1122881"
+ inkscape:cy="7.5"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2" /><g
+ id="g3"><path
+ style="fill:#010101;"
+ d="M 10.300781 1.2207031 C 9.9144812 1.2207031 9.6 1.2 9.5 2 L 9.0996094 4.5214844 L 11.5 6.5 L 13.5 6.5 C 14.9 6.5 15 5.5410156 15 5.5410156 L 13.099609 3.3222656 C 12.399609 2.6222656 11.7 2.5 11 2.5 L 11 2 C 11 2 11.067481 1.2206031 10.300781 1.2207031 z M 4.75 1.5 C 4.75 1.5 3.7992187 1.5206031 3.1992188 1.7207031 C 2.5992187 1.9207031 2 2.6210938 2 3.6210938 L 2 7.5214844 C 2 9.2214844 1.3 9.5 1 9.5 C 1 9.5 0 9.5214844 0 10.521484 L 0 12.720703 C 0 12.720703 0.00078125 13.521484 0.80078125 13.521484 L 1 13.521484 L 1.5 13.521484 L 2 13.521484 L 2 13.021484 L 2 12.822266 C 2 12.422266 1.8 12.221094 1.5 12.121094 L 1.5 11.021484 C 2.5 11.021484 2.6 10.820703 3 10.720703 L 3.5507812 12.917969 C 3.6507813 13.217969 3.7507813 13.417578 4.0507812 13.517578 L 5.0507812 13.517578 L 6 13.5 L 6 12.699219 C 6 12.022819 5 12 5 12 L 5 9.5 L 8.5 9.5 L 9.1992188 12.121094 C 9.5992188 13.521094 10.5 13.5 10.5 13.5 L 11 13.5 L 12 13.5 L 12 12.699219 C 12 11.987419 11 12 11 12 L 11.099609 7.921875 L 8 5.5 L 3.5 5.5 L 3.5 3.5 C 3.5 3.1 3.7765 3.0053 4 3 C 4.4941 2.9882 4.75 3 4.75 3 C 5.1642 3 5.5 2.6642 5.5 2.25 C 5.5 1.8358 5.1642 1.5 4.75 1.5 z M 11.75 4 C 11.8881 4 12 4.1119 12 4.25 C 12 4.3881 11.8881 4.5 11.75 4.5 C 11.6119 4.5 11.5 4.3881 11.5 4.25 C 11.5 4.1119 11.6119 4 11.75 4 z "
+ id="path5" /></g></svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/drinking-water.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/drinking-water.svg
new file mode 100644
index 00000000..e3b4e00d
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/drinking-water.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>drinking-water-15</title>
+ <path d="M6,1A2,2,0,0,0,4,3V6.5a0.5,0.5,0,0,0,.5.5h2A0.5,0.5,0,0,0,7,6.5v-2A0.5,0.5,0,0,1,7.5,4H14V1H6Z"/>
+ <path d="M7,15H4a0.5,0.5,0,0,1-.48-0.38L2,8.62A0.5,0.5,0,0,1,2.5,8h6A0.5,0.5,0,0,1,9,8.62l-1.5,6A0.5,0.5,0,0,1,7,15ZM3.65,11l3.71,0L7.86,9H3.14Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/embassy.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/embassy.svg
new file mode 100644
index 00000000..bc3ea298
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/embassy.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M6.65,2C5.43,2,4.48,3.38,4.11,3.82C4.0365,3.9102,3.9975,4.0237,4,4.14v4.4C3.9884,8.7827,4.1758,8.9889,4.4185,9.0005
+ C4.528,9.0057,4.6355,8.9699,4.72,8.9c0.4665-0.6264,1.1589-1.0461,1.93-1.17C8.06,7.73,8.6,9,10.07,9
+ c0.9948-0.0976,1.9415-0.4756,2.73-1.09c0.1272-0.0934,0.2016-0.2422,0.2-0.4V2.45c0.0275-0.2414-0.1459-0.4595-0.3874-0.487
+ C12.5332,1.954,12.4527,1.9668,12.38,2c-0.6813,0.5212-1.4706,0.8834-2.31,1.06C8.6,3.08,8.12,2,6.65,2z M2.5,3
+ c-0.5523,0-1-0.4477-1-1s0.4477-1,1-1s1,0.4477,1,1S3.0523,3,2.5,3z M3,4v9.48c0,0.2761-0.2239,0.5-0.5,0.5S2,13.7561,2,13.48V4
+ c0-0.2761,0.2239-0.5,0.5-0.5S3,3.7239,3,4z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/emergency-phone.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/emergency-phone.svg
new file mode 100644
index 00000000..8b25a3a6
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/emergency-phone.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>emergency-phone-15</title>
+ <path d="M7.875,11.49a.51.51,0,0,0,.72,0l.72-.72,2.18,2.16-.37.37a2.24,2.24,0,0,1-1.44.7H8.24a2.24,2.24,0,0,1-1.45-.7L1.72,8.23A2.24,2.24,0,0,1,1,6.78V5.33a2.24,2.24,0,0,1,.72-1.45l.36-.36L4.26,5.69l-.73.73a.51.51,0,0,0,0,.72Zm4.72.38a1,1,0,0,0,.036-1.414h0l-.036-.036-.72-.72a1,1,0,0,0-1.414-.036h0l-.036.036ZM5.315,4.62a1,1,0,0,0,.036-1.414h0L4.595,2.45a1,1,0,0,0-1.414-.036h0L3.14,2.45ZM10,2V4H8V5h2V7h1V5h2V4H11V2Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/entrance-alt1.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/entrance-alt1.svg
new file mode 100644
index 00000000..ec98d6fd
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/entrance-alt1.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>entrance-alt1-15</title>
+ <path d="M6.554,9.639a.5.5,0,0,0,.707.707L9.928,7.669a.25.25,0,0,0,0-.354h0L7.261,4.639a.5.5,0,0,0-.707.707L8.2,7H1.5a.5.5,0,0,0,0,1H8.2ZM12,1H5.5a.5.5,0,0,0,0,1h6a.5.5,0,0,1,.5.5v10a.5.5,0,0,1-.5.5H5.25a.5.5,0,0,0,0,1H12a1,1,0,0,0,1-1V2A1,1,0,0,0,12,1Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/entrance.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/entrance.svg
new file mode 100644
index 00000000..39cf2c38
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/entrance.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M7,6.5v-1c0-0.5523-0.4477-1-1-1s-1,0.4477-1,1v3L7,6.5z M4.65,10.56L5,3c0-0.5523,0.4477-1,1-1s1,0.4477,1,1S6.5523,4,6,4
+ S5,3.5523,5,3L4.65,10.56z"/>
+<path d="M14,6L14,6c0,0.5523-0.4477,1-1,1h-1.58c-0.2658-0.0015-0.5213,0.1028-0.71,0.29l-5.42,5.42
+ c-0.1863,0.1847-0.4377,0.2889-0.7,0.29H2c-0.5523,0-1-0.4477-1-1l0,0c0-0.5523,0.4477-1,1-1h1.59
+ c0.2623-0.0011,0.5137-0.1053,0.7-0.29l5.42-5.42C9.8987,5.1028,10.1542,4.9985,10.42,5H13C13.5523,5,14,5.4477,14,6z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/farm.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/farm.svg
new file mode 100644
index 00000000..b051c235
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/farm.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>farm-15</title>
+ <path d="M8,7L5,5,2,7,1,9v4H3V11H7v2H9V9ZM6,9H4V7H6V9Zm8,4H11V3.5a1.5,1.5,0,0,1,3,0V13Z" fill="#010101"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/fast-food.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/fast-food.svg
new file mode 100644
index 00000000..56a74d52
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/fast-food.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M14,8c0,0.5523-0.4477,1-1,1H2C1.4477,9,1,8.5523,1,8s0.4477-1,1-1h11C13.5523,7,14,7.4477,14,8z M3.5,10H2
+ c0,1.6569,1.3431,3,3,3h5c1.6569,0,3-1.3431,3-3H3.5z M3,6H2V4c0-1.1046,0.8954-2,2-2h7c1.1046,0,2,0.8954,2,2v2H3z M11,4.5
+ C11,4.7761,11.2239,5,11.5,5S12,4.7761,12,4.5S11.7761,4,11.5,4S11,4.2239,11,4.5z M9,3.5C9,3.7761,9.2239,4,9.5,4S10,3.7761,10,3.5
+ S9.7761,3,9.5,3S9,3.2239,9,3.5z M7,4.5C7,4.7761,7.2239,5,7.5,5S8,4.7761,8,4.5S7.7761,4,7.5,4S7,4.2239,7,4.5z M5,3.5
+ C5,3.7761,5.2239,4,5.5,4S6,3.7761,6,3.5S5.7761,3,5.5,3S5,3.2239,5,3.5z M3,4.5C3,4.7761,3.2239,5,3.5,5S4,4.7761,4,4.5
+ S3.7761,4,3.5,4S3,4.2239,3,4.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/fence.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/fence.svg
new file mode 100644
index 00000000..eba92a7f
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/fence.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>fence-15</title>
+ <path d="M13.5,10H13V7h.5a.5.5,0,0,0,0-1H13V4l-.286-.573a.249.249,0,0,0-.424-.006L12,4V6H11V4l-.286-.573a.249.249,0,0,0-.424-.006L10,4V6H9V4l-.286-.573a.249.249,0,0,0-.424-.006L8,4V6H7V4l-.286-.573a.249.249,0,0,0-.424-.006L6,4V6H5V4l-.286-.573a.249.249,0,0,0-.424-.006L4,4V6H3V4l-.286-.573a.249.249,0,0,0-.424-.006L2,4V6H1.5a.5.5,0,0,0,0,1H2v3H1.5a.5.5,0,0,0,0,1H2v1.5a.5.5,0,0,0,1,0V11H4v1.5a.5.5,0,0,0,1,0V11H6v1.5a.5.5,0,0,0,1,0V11H8v1.5a.5.5,0,0,0,1,0V11h1v1.5a.5.5,0,0,0,1,0V11h1v1.5a.5.5,0,0,0,1,0V11h.5a.5.5,0,0,0,0-1ZM3,10V7H4v3Zm2,0V7H6v3Zm2,0V7H8v3Zm2,0V7h1v3Zm2,0V7h1v3Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/ferry.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/ferry.svg
new file mode 100644
index 00000000..4f1c1591
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/ferry.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M5.33,11c0.6745,0.009,1.3262,0.245,1.85,0.67l0.26,0.23h0.05l0.31-0.28c0.9817-0.8115,2.379-0.8846,3.44-0.18L13.5,7L12,6
+ V2.45c-0.0466-0.8-0.6989-1.4305-1.5-1.45H10c0.0343-0.518-0.3579-0.9657-0.8759-1C9.0828-0.0027,9.0413-0.0027,9,0H6
+ C5.482-0.0343,5.0343,0.3579,5,0.8759C4.9973,0.9172,4.9973,0.9587,5,1H4.5C3.6989,1.0195,3.0466,1.65,3,2.45V6L1.5,7l2.25,4.53
+ C4.2143,11.2041,4.7631,11.02,5.33,11z M4,2.45c0.0105-0.2594,0.2293-0.4611,0.4886-0.4506C4.4924,1.9996,4.4962,1.9998,4.5,2h6
+ c0.259-0.0171,0.4829,0.1789,0.5,0.4379c0.0014,0.0207,0.0014,0.0414,0,0.0621v3l-3.5-2L4,5.45C4,5.45,4,2.45,4,2.45z M14,13v1
+ c-0.2626,0.0194-0.5069,0.1416-0.68,0.34c-0.2717,0.2883-0.6178,0.4959-1,0.6c-0.6147,0.1815-1.2795,0.0425-1.77-0.37l-0.39-0.35
+ c-0.3043-0.3026-0.7957-0.3026-1.1,0c-0.14,0.12-0.27,0.25-0.42,0.37c-0.7328,0.5856-1.7814,0.556-2.48-0.07l-0.39-0.35
+ c-0.2864-0.2502-0.7136-0.2502-1,0c-0.19,0.15-0.36,0.32-0.55,0.47c-0.7043,0.5215-1.6732,0.4968-2.35-0.06l-0.31-0.27
+ C1.4153,14.1443,1.2172,14.0346,1,14v-1c0.2585-0.032,0.5205,0.0169,0.75,0.14c0.2782,0.1722,0.5424,0.3661,0.79,0.58
+ c0.2051,0.2235,0.5147,0.319,0.81,0.25c0.1125-0.0333,0.2177-0.0876,0.31-0.16c0.16-0.12,0.29-0.26,0.45-0.39
+ c0.7106-0.5888,1.7394-0.5888,2.45,0c0.16,0.13,0.31,0.28,0.47,0.41c0.2864,0.2502,0.7136,0.2502,1,0c0.16-0.13,0.31-0.28,0.47-0.41
+ c0.7123-0.5943,1.7477-0.5943,2.46,0c0.15,0.13,0.29,0.27,0.44,0.39c0.2864,0.2502,0.7136,0.2502,1,0l0.47-0.41
+ C13.1895,13.1408,13.5886,12.9995,14,13z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/fire-station.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/fire-station.svg
new file mode 100644
index 00000000..ee54ad28
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/fire-station.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="fire-station-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path10041-3-3" inkscape:connector-curvature="0" sodipodi:nodetypes="cccsssccccsssc" d="M7.5,0.5L5,4.5l-1.5-2
+ C2.9452,3.4753,0.8036,5.7924,0.8036,8.3036C0.8036,12.002,3.8017,15,7.5,15s6.6964-2.998,6.6964-6.6964
+ c0-2.5112-2.1416-4.8283-2.6964-5.8036l-1.5,2L7.5,0.5z M7.5,7c0,0,2.5,2.5618,2.5,4.5c0,0.8371-0.8259,2-2.5,2S5,12.3371,5,11.5
+ C5,9.6283,7.5,7,7.5,7z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/florist.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/florist.svg
new file mode 100644
index 00000000..7dcba9ea
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/florist.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>florist-15</title>
+ <path d="M1.5,1A2.7,2.7,0,0,1,4,3l.5-3L5,3A2.7,2.7,0,0,1,7.5,1c-.2.03-1,.26-1,2v.083A1.959,1.959,0,0,1,4.5,5H4.417A1.959,1.959,0,0,1,2.5,3C2.5,1.261,1.7,1.03,1.5,1ZM12.012,11l3-.5-3-.5A2.686,2.686,0,0,0,14,7.5c-.03.2-.248,1-1.988,1a2,2,0,0,0,0,4c1.739,0,1.958.8,1.988,1A2.686,2.686,0,0,0,12.012,11ZM9.688,5.548a1,1,0,0,1,0-2,1,1,0,0,1,0-2,.986.986,0,0,1,.852.507l.023-.012a.978.978,0,0,1-.116-.444,1,1,0,1,1,2,0,.978.978,0,0,1-.116.444l.019.01a.986.986,0,0,1,.85-.5,1,1,0,0,1,.025,2,1,1,0,0,1-.025,2,.986.986,0,0,1-.85-.5l-.016.009a.978.978,0,0,1,.113.44,1,1,0,0,1-2,0,.978.978,0,0,1,.113-.44l-.02-.011a.986.986,0,0,1-.852.507Zm.71-1.995A1.051,1.051,0,1,0,11.449,2.5,1.051,1.051,0,0,0,10.4,3.553v0ZM4.946,11.444l-.516-.515L8.892,6.475A1.746,1.746,0,0,1,8.44,6.22L4.076,10.575l-.519-.518A16.051,16.051,0,0,0,4.912,6a3.373,3.373,0,0,1-.412.035c-.041,0-.073-.008-.112-.01A16.953,16.953,0,0,1,3.131,9.631L2.76,9.26a.246.246,0,0,0-.4.079L.231,14.445a.287.287,0,0,0-.016.089.25.25,0,0,0,.25.25.289.289,0,0,0,.1-.019l5.1-2.124a.246.246,0,0,0,.079-.4l-.372-.372a16.874,16.874,0,0,1,3.612-1.256c0-.059-.015-.106-.015-.166A3.349,3.349,0,0,1,9,10.089,16.076,16.076,0,0,0,4.946,11.444Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/fuel.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/fuel.svg
new file mode 100644
index 00000000..ae082de8
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/fuel.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M13,6L13,6v5.5c0,0.2761-0.2239,0.5-0.5,0.5S12,11.7761,12,11.5v-2C12,8.6716,11.3284,8,10.5,8H9V2c0-0.5523-0.4477-1-1-1H2
+ C1.4477,1,1,1.4477,1,2v11c0,0.5523,0.4477,1,1,1h6c0.5523,0,1-0.4477,1-1V9h1.5C10.7761,9,11,9.2239,11,9.5v2
+ c0,0.8284,0.6716,1.5,1.5,1.5s1.5-0.6716,1.5-1.5V5c0-0.5523-0.4477-1-1-1l0,0V2.49C12.9946,2.2178,12.7723,1.9999,12.5,2
+ c-0.2816,0.0047-0.5062,0.2367-0.5015,0.5184C11.9987,2.5289,11.9992,2.5395,12,2.55V5C12,5.5523,12.4477,6,13,6s1-0.4477,1-1
+ s-0.4477-1-1-1 M8,6.5C8,6.7761,7.7761,7,7.5,7h-5C2.2239,7,2,6.7761,2,6.5v-3C2,3.2239,2.2239,3,2.5,3h5C7.7761,3,8,3.2239,8,3.5
+ V6.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/gaming.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/gaming.svg
new file mode 100644
index 00000000..5a091d7d
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/gaming.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<title>gaming</title>
+<path d="M13.1,12.5c-0.6,0.3-1.4,0.1-1.8-0.5l-1.1-1.4H4.8L3.7,12l0,0c-0.5,0.7-1.4,0.8-2.1,0.3c-0.5-0.4-0.7-1-0.6-1.5l0.7-3.7l0,0
+ C1.9,5.9,3,5,4.2,5v0H7V3.5C7,2.7,7.6,2,8.4,2h3.1C11.8,2,12,2.2,12,2.5S11.8,3,11.5,3h-3C8.2,3,8,3.2,8,3.4c0,0,0,0.1,0,0.1V5h2.8
+ v0c1.2,0,2.3,0.9,2.5,2.1l0,0l0.7,3.7l0,0C14.1,11.5,13.8,12.2,13.1,12.5z M6,7.5C6,6.7,5.3,6,4.5,6S3,6.7,3,7.5S3.7,9,4.5,9
+ S6,8.3,6,7.5z M12,7.5C12,7.2,11.8,7,11.5,7H11V6.5C11,6.2,10.8,6,10.5,6S10,6.2,10,6.5V7H9.5C9.2,7,9,7.2,9,7.5S9.2,8,9.5,8H10v0.5
+ C10,8.8,10.2,9,10.5,9S11,8.8,11,8.5V8h0.5C11.8,8,12,7.8,12,7.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/garden-center.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/garden-center.svg
new file mode 100644
index 00000000..573f36a5
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/garden-center.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg width="15px" height="15px" viewBox="0 0 15 15" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+ <path d="M4,5L4,4.5C4,3.12 5.12,2 6.5,2C7.88,2 9,3.12 9,4.5L9,10.293L11.365,7.928L11.018,6.633C11.018,6.631 11.017,6.629 11.017,6.627L11.016,6.627L11.016,6.627C10.973,6.461 11.016,6.276 11.147,6.146C11.342,5.951 11.659,5.951 11.854,6.146L13.854,8.146C14.049,8.341 14.049,8.658 13.854,8.853C13.724,8.983 13.541,9.027 13.375,8.984C13.375,8.984 13.375,8.984 13.375,8.984C13.372,8.983 13.369,8.982 13.365,8.981L12.072,8.635L9,11.707L9,12C9,12.552 8.552,13 8,13L5,13C4.448,13 4,12.552 4,12L4,11.536L1.732,9.268C0.757,8.292 0.757,6.708 1.732,5.732C2.22,5.244 2.86,5 3.5,5L3.5,5L4,5ZM4,6L3.5,6L3.5,6C3.116,6 2.732,6.147 2.439,6.439C1.854,7.025 1.854,7.975 2.439,8.561L4,10.121L4,6ZM8,5L8,4.5C8,3.672 7.328,3 6.5,3C5.672,3 5,3.672 5,4.5L5,5L8,5Z" style="fill:black;"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/garden.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/garden.svg
new file mode 100644
index 00000000..2717b347
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/garden.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M13,8c0,3.31-2.19,6-5.5,6S2,11.31,2,8c2.2643,0.0191,4.2694,1.4667,5,3.61V7H4.5C3.6716,7,3,6.3284,3,5.5v-3
+ C3,2.2239,3.2239,2,3.5,2c0.1574,0,0.3056,0.0741,0.4,0.2l1.53,2l1.65-3c0.1498-0.232,0.4593-0.2985,0.6913-0.1487
+ C7.8308,1.0898,7.8815,1.1404,7.92,1.2l1.65,3l1.53-2c0.1657-0.2209,0.4791-0.2657,0.7-0.1C11.9259,2.1944,12,2.3426,12,2.5v3
+ C12,6.3284,11.3284,7,10.5,7H8v4.61C8.7306,9.4667,10.7357,8.0191,13,8z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/gift.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/gift.svg
new file mode 100644
index 00000000..3336ecb0
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/gift.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M6.5,5v2H0V5H6.5z M8.5,5v2H15V5H8.5z M1,8v4.5C1,13.3284,1.6716,14,2.5,14h4V8H1z M8.5,8v6h4c0.8284,0,1.5-0.6716,1.5-1.5
+ V8H8.5z M10.5,0c-1.4033-0.0444-2.6497,0.8904-3,2.25C7.1497,0.8904,5.9033-0.0444,4.5,0c-1.0709-0.0337-1.9663,0.8072-2,1.8781
+ C2.4987,1.9187,2.4987,1.9594,2.5,2C2.3443,2.9427,2.9822,3.8331,3.9249,3.9888C4.0853,4.0153,4.2486,4.0191,4.41,4h6.13
+ c0.9548,0.1497,1.8503-0.5029,2-1.4577c0.0282-0.1797,0.0282-0.3626,0-0.5423c0.0002-1.1046-0.895-2.0002-1.9996-2.0004
+ C10.5269-0.0004,10.5135-0.0003,10.5,0z M4.5,3c-0.506,0.0463-0.9537-0.3264-1-0.8323C3.4949,2.1119,3.4949,2.0558,3.5,2
+ C3.4537,1.494,3.8264,1.0463,4.3323,1C4.3881,0.9949,4.4442,0.9949,4.5,1c1.1046,0,2,0.8954,2,2H4.5z M10.5,3h-2
+ c0-1.1046,0.8954-2,2-2c0.5523,0,1,0.4477,1,1c0.0463,0.506-0.3264,0.9537-0.8323,1C10.6119,3.0051,10.5558,3.0051,10.5,3z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/golf.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/golf.svg
new file mode 100644
index 00000000..5a028acb
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/golf.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="golf-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path11758" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccscccccssccsssss" style="fill:#010101;" d="
+ M3.3999,1.1c0,0.1,0,0.2,0,0.2c0,0.4,0.3,0.7,0.7,0.7c0.3,0,0.5-0.2,0.6-0.5l0,0L4.9,1l5.6,2.3L6.6,6C6.2,6.3,6.2,6.7,6.3,7.1
+ l0.9,2.1l-1.3,3.9C5.7,13.6,6.1,14,6.5,14c0.3,0,0.5-0.1,0.6-0.5l1.4-4l0.1,0.3v3.5c0,0,0,0.7,0.7,0.7s0.7-0.7,0.7-0.7V10
+ c0-0.2,0-0.3-0.1-0.5L8.5,6.1l2.7-1.9c0.2-0.2,0.4-0.3,0.4-0.6s-0.2-0.5-0.4-0.6L4,0.1c-0.0878,0-0.118,0.0179-0.2001,0.1
+ L3.3999,1.1z M5.5,3C4.7,3,4,3.7,4,4.5S4.7,6,5.5,6S7,5.3,7,4.5S6.2999,3,5.5,3z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/grocery.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/grocery.svg
new file mode 100644
index 00000000..de1448e0
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/grocery.svg
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="svg4619"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="grocery-15.svg"
+ x="0px"
+ y="0px"
+ width="15px"
+ height="15px"
+ viewBox="0 0 15 15"
+ style="enable-background:new 0 0 15 15;"
+ xml:space="preserve"><metadata
+ id="metadata15"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs13" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1751"
+ inkscape:window-height="731"
+ id="namedview11"
+ showgrid="false"
+ inkscape:zoom="15.733333"
+ inkscape:cx="-1.1122881"
+ inkscape:cy="7.5"
+ inkscape:window-x="20"
+ inkscape:window-y="43"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg4619" /><g
+ id="g3"><path
+ d="M 13.199219 1.5 C 13.199219 1.5 11.808806 1.4588 11.253906 2 C 10.720406 2.5202 10.5 2.9177 10.5 4 L 1.1992188 4 L 2.59375 8.8144531 C 2.59725 8.8217531 2.6036219 8.8287375 2.6074219 8.8359375 C 2.8418219 9.4932375 3.4545469 9.9666406 4.1855469 9.9941406 C 4.1885469 9.9954406 4.1992187 10 4.1992188 10 L 10.699219 10 L 10.699219 10.199219 C 10.699219 10.199219 10.7 10.500391 10.5 10.900391 C 10.3 11.300391 10.200391 11.5 9.4003906 11.5 L 2.9003906 11.5 C 1.9003906 11.5 1.9003906 13 2.9003906 13 L 4.0996094 13 L 4.1992188 13 L 9.0996094 13 L 9.1992188 13 L 9.3007812 13 C 10.500781 13 11.399219 12.299609 11.699219 11.599609 C 11.999219 10.899609 12 10.300781 12 10.300781 L 12 10 L 12 4 C 12 3.4764 12.228619 3 12.699219 3 L 13.25 3 C 13.6642 3 14 2.6642 14 2.25 C 14 1.8358 13.6642 1.5 13.25 1.5 L 13.199219 1.5 z M 9.1992188 13 C 8.5992188 13 8.1992188 13.4 8.1992188 14 C 8.1992188 14.6 8.5992187 15 9.1992188 15 C 9.7992187 15 10.199219 14.6 10.199219 14 C 10.199219 13.4 9.7992188 13 9.1992188 13 z M 4.1992188 13 C 3.5992188 13 3.1992188 13.4 3.1992188 14 C 3.1992188 14.6 3.5992187 15 4.1992188 15 C 4.7992188 15 5.1992188 14.6 5.1992188 14 C 5.1992188 13.4 4.7992187 13 4.1992188 13 z "
+ id="path5" /></g></svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/hairdresser.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/hairdresser.svg
new file mode 100644
index 00000000..2c92a561
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/hairdresser.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="hairdresser-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path style="fill:#010101;" d="M15,3c0,0-2-0.6-3.5,0.5l-4.3,3C6.4,5.9,5.2,5.2,4,4.8V4c0-1.1-0.9-2-2-2C0.9,2,0,2.9,0,4v1.5
+ C0,6,0.5,6,0.5,6H2h0.5C4.5,6,6,7.5,6,7.5S4.5,9,2.5,9H2H0.5C0.5,9,0,9,0,9.5V11c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2v-0.8
+ c1.2-0.4,2.4-1.1,3.2-1.7l4.3,3C13,12.6,15,12,15,12L8.5,7.5L15,3z M3,5H2H1V4c0-0.6,0.4-1,1-1c0.6,0,1,0.4,1,1V5z M3,11
+ c0,0.6-0.4,1-1,1c-0.6,0-1-0.4-1-1v-1h1h1V11z M7.25,8c-0.2761,0-0.5-0.2239-0.5-0.5S6.9739,7,7.25,7s0.5,0.2239,0.5,0.5
+ S7.5261,8,7.25,8z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/harbor.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/harbor.svg
new file mode 100644
index 00000000..ec120af8
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/harbor.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="harbor-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path5263" d="M7.5,0C5.5,0,4,1.567,4,3.5c0.0024,1.5629,1.0397,2.902,2.5,3.3379v6.0391
+ c-0.9305-0.1647-1.8755-0.5496-2.6484-1.2695C2.7992,10.6273,2.002,9.0676,2.002,6.498c0.0077-0.5646-0.4531-1.0236-1.0176-1.0137
+ C0.4329,5.493-0.0076,5.9465,0,6.498c0,3.0029,1.0119,5.1955,2.4902,6.5723C3.9685,14.4471,5.8379,15,7.5,15
+ c1.6656,0,3.535-0.5596,5.0117-1.9395S14.998,9.4868,14.998,6.498c0.0648-1.3953-2.0628-1.3953-1.998,0
+ c0,2.553-0.7997,4.1149-1.8535,5.0996C10.3731,12.3203,9.4288,12.7084,8.5,12.875V6.8418C9.9607,6.4058,10.9986,5.0642,11,3.5
+ C11,1.567,9.5,0,7.5,0z M7.5,2C8.3284,2,9,2.6716,9,3.5S8.3284,5,7.5,5S6,4.3284,6,3.5S6.6716,2,7.5,2z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/heart.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/heart.svg
new file mode 100644
index 00000000..23411304
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/heart.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M13.91,6.75c-1.17,2.25-4.3,5.31-6.07,6.94c-0.1903,0.1718-0.4797,0.1718-0.67,0C5.39,12.06,2.26,9,1.09,6.75
+ C-1.48,1.8,5-1.5,7.5,3.45C10-1.5,16.48,1.8,13.91,6.75z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/heliport.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/heliport.svg
new file mode 100644
index 00000000..dc7f59d3
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/heliport.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="heliport-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path10415" inkscape:connector-curvature="0" d="M4,2C3,2,3,3,4,3h4v1C7.723,4,7.5,4.223,7.5,4.5V5H5H3.9707H3.9316
+ C3.7041,4.1201,2.9122,3.5011,2,3.5c-1.1046,0-2,0.8954-2,2s0.8954,2,2,2c0.3722-0.001,0.7368-0.1058,1.0527-0.3027L5.5,10.5
+ C6.5074,11.9505,8.3182,12,9,12h5c0,0,1,0,1-1v-0.9941C15,9.2734,14.874,8.874,14.5,8.5l-3-3c0,0-0.5916-0.5-1.2734-0.5H9.5V4.5
+ C9.5,4.223,9.277,4,9,4V3h4c1,0,1-1,0-1C13,2,4,2,4,2z M2,4.5c0.5523,0,1,0.4477,1,1s-0.4477,1-1,1s-1-0.4477-1-1
+ C1,4.9477,1.4477,4.5,2,4.5z M10,6c0.5,0,0.7896,0.3231,1,0.5L13.5,9H10c0,0-1,0-1-1V7C9,7,9,6,10,6z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/home.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/home.svg
new file mode 100644
index 00000000..1c3578c6
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/home.svg
@@ -0,0 +1,8 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+ width="15px" height="15px" viewBox="0 0 15 15">
+<path d="M2,13.7478c0,0.13807,0.11193,0.25,0.25,0.25h3.749v-3h3v3h3.749c0.13807,0,0.25-0.11193,0.25-0.25V7.9987H2
+ C2,7.9987,2,13.7478,2,13.7478z M13.93,6.5778l-0.9319-0.8189V2c0-0.55228-0.44771-1-1-1s-1,0.44772-1,1v2L7.6808,1.09
+ C7.5863,0.9897,7.42846,0.98478,7.3279,1.079L7.3169,1.09L1.0678,6.553C0.9734,6.65376,0.97856,6.81197,1.07932,6.90637
+ C1.12478,6.94896,1.18451,6.97304,1.2468,6.9739L3,6.9989h10.7468c0.13807,0.00046,0.25037-0.1111,0.25083-0.24917
+ C13.99784,6.68592,13.97365,6.62445,13.93,6.5779V6.5778z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/horse-riding.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/horse-riding.svg
new file mode 100644
index 00000000..6aeb88a6
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/horse-riding.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>horse-riding-15</title>
+ <path d="M6,1A1,1,0,1,1,7,2,1,1,0,0,1,6,1ZM8,3.5a.484.484,0,0,0,0-.058A.472.472,0,0,0,7.5,3h-1a.484.484,0,0,0-.058,0A.472.472,0,0,0,6,3.5V7H8Zm6.85,3.644L12.8,4.8l.085-.509a.478.478,0,0,0,.008-.063.25.25,0,0,0-.25-.25.346.346,0,0,0-.158.056L9,7H8L9,8V9.5a.5.5,0,0,1-1,0v-1L6,7H4a1.5,1.5,0,0,0-1.243.661A1.466,1.466,0,0,0,1.563,7H1.5A1.449,1.449,0,0,0,0,8.4v.086A3.781,3.781,0,0,0,.559,10.4a.278.278,0,0,0,.191.1A.25.25,0,0,0,1,10.25V9s-.02-.924.753-1c.5-.048.747.253.747.5V11L2,13v1.75a.25.25,0,0,0,.25.25.254.254,0,0,0,.25-.234V13L4,11v1l.5,2.8a.255.255,0,0,0,.246.2A.25.25,0,0,0,5,14.754H5L4.855,12.3,5.5,11H8v1l.508,2.813A.257.257,0,0,0,8.75,15,.25.25,0,0,0,9,14.75V12l.367-1a1.155,1.155,0,0,0,.543-.6l2.161-3.767a.863.863,0,0,0,1.023.4l1.066.818a.591.591,0,0,0,.35.135.487.487,0,0,0,.475-.4A.552.552,0,0,0,14.85,7.144Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/hospital.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/hospital.svg
new file mode 100644
index 00000000..dde77b94
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/hospital.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="hospital-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="rect4194" inkscape:connector-curvature="0" style="fill:#010101;" d="M7,1C6.4,1,6,1.4,6,2v4H2C1.4,6,1,6.4,1,7v1
+ c0,0.6,0.4,1,1,1h4v4c0,0.6,0.4,1,1,1h1c0.6,0,1-0.4,1-1V9h4c0.6,0,1-0.4,1-1V7c0-0.6-0.4-1-1-1H9V2c0-0.6-0.4-1-1-1H7z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/ice-cream.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/ice-cream.svg
new file mode 100644
index 00000000..4cb0a222
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/ice-cream.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M5.44,8.17c0.7156,0.0006,1.414-0.2194,2-0.63C7.9037,7.8634,8.4391,8.0693,9,8.14h0.44L8,13.7
+ c-0.1082,0.2541-0.4019,0.3723-0.656,0.264C7.2252,13.9134,7.1306,13.8188,7.08,13.7L5.44,8.17z"/>
+<path d="M11.44,4.67c0,1.1046-0.8954,2-2,2s-2-0.8954-2-2l0,0l0,0l0,0c0,1.1046-0.8954,2-2,2s-2-0.8954-2-2s0.8954-2,2-2h0.12
+ C5.1756,1.6345,5.7035,0.4834,6.739,0.099s2.1866,0.1435,2.571,1.179c0.1667,0.449,0.1667,0.9429,0,1.3919h0.13
+ C10.5446,2.67,11.44,3.5654,11.44,4.67z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/industry.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/industry.svg
new file mode 100644
index 00000000..683d4c87
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/industry.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M14,1v12H1V8.72c0.0016-0.1419,0.0634-0.2764,0.17-0.37l3-3.22c0.2074-0.1823,0.5234-0.1618,0.7056,0.0456
+ C4.9568,5.268,5.0011,5.387,5,5.51v3l3.16-3.37c0.2025-0.1878,0.5188-0.1759,0.7066,0.0266C8.9532,5.2599,9.0009,5.3827,9,5.51V11h3
+ V1H14z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/information.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/information.svg
new file mode 100644
index 00000000..2ffda2ea
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/information.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="information-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="rect8399" inkscape:connector-curvature="0" sodipodi:nodetypes="ssssscccccccccccc" style="fill:#010101;" d="M7.5,1
+ C6.7,1,6,1.7,6,2.5S6.7,4,7.5,4S9,3.3,9,2.5S8.3,1,7.5,1z M4,5v1c0,0,2,0,2,2v2c0,2-2,2-2,2v1h7v-1c0,0-2,0-2-2V6c0-0.5-0.5-1-1-1H4
+ z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/karaoke.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/karaoke.svg
new file mode 100644
index 00000000..7641f08e
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/karaoke.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>karaoke</title>
+ <g>
+ <path d="M12.1,2.952A2.988,2.988,0,0,0,6.99,4.917l3.142,3.142A2.988,2.988,0,0,0,12.1,2.952Z"/>
+ <path d="M4.672,8.255,2.55,10.377a1,1,0,0,0,0,1.414l.707.707a1,1,0,0,0,1.414,0l2.121-2.121L8.914,8.255,6.793,6.134Zm.741,2.087-.707-.707L6.793,7.548l.707.707Z"/>
+ </g>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/landmark.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/landmark.svg
new file mode 100644
index 00000000..4cf48cf2
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/landmark.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M12.5,12H12v-0.5c0-0.3-0.2-0.5-0.5-0.5H11V6h1l1-2c-1,0.1-2,0.1-3,0C9.2,3.4,8.6,2.8,8,2V1.5C8,1.2,7.8,1,7.5,1
+ S7,1.2,7,1.5V2C6.4,2.8,5.8,3.4,5,4C4,4.1,3,4.1,2,4l1,2h1v5c0,0-0.5,0-0.5,0C3.2,11,3,11.2,3,11.5V12H2.5C2.2,12,2,12.2,2,12.5V13
+ h11v-0.5C13,12.2,12.8,12,12.5,12z M7,11H5V6h2V11z M10,11H8V6h2V11z"/>
+<title>landmark</title>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/landuse.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/landuse.svg
new file mode 100644
index 00000000..a46b3fe1
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/landuse.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>landuse-15</title>
+ <path d="M8.911,3.854A.248.248,0,0,1,9,4.044V7.75A.25.25,0,0,1,8.75,8H6.25A.25.25,0,0,1,6,7.75V6H5V7.75A.25.25,0,0,1,4.75,8H2.25A.25.25,0,0,1,2,7.75v-3.7a.248.248,0,0,1,.089-.19L5.343,1.132a.245.245,0,0,1,.315,0ZM7.752,9.5a.248.248,0,0,0-.138.042L5,11.5H4v-2a.5.5,0,0,0-1,0v2H2v-2a.5.5,0,0,0-1,0v4.25a.25.25,0,0,0,.25.25h6.5A.25.25,0,0,0,8,13.75v-4A.248.248,0,0,0,7.752,9.5ZM14,6.245v6.5a.253.253,0,0,1-.253.253H10.253A.253.253,0,0,1,10,12.747V6.25A.249.249,0,0,1,10.25,6H11V5.249A.249.249,0,0,1,11.249,5h1.5A.253.253,0,0,1,13,5.253V6h.755A.245.245,0,0,1,14,6.245ZM13,11H11v1h2Zm0-2H11v1h2Zm0-2H11V8h2Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/laundry.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/laundry.svg
new file mode 100644
index 00000000..2a6810ee
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/laundry.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="laundry-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path3291-2" inkscape:connector-curvature="0" d="M8,1L6,3H3c0,0-1,0-1,1v9c0,1,1,1,1,1h9c0,0,1,0,1-1V2c0-1-1-1-1-1
+ S8,1,8,1z M8.5,2h2C10.777,2,11,2.223,11,2.5S10.777,3,10.5,3h-2C8.223,3,8,2.777,8,2.5S8.223,2,8.5,2z M7.5,6
+ c1.6569,0,3,1.3431,3,3s-1.3431,3-3,3s-3-1.3431-3-3S5.8431,6,7.5,6z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/library.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/library.svg
new file mode 100644
index 00000000..8dd4084f
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/library.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M7.47,4.92C7.47,4.92,5.7,3,1,3v8c4.7,0,6.47,2,6.47,2S9.3,11,14,11V3C9.3,3,7.47,4.92,7.47,4.92z M13,10
+ c-1.9614,0.0492-3.8727,0.6299-5.53,1.68C5.836,10.6273,3.9432,10.0459,2,10V4c3.4,0.26,4.73,1.6,4.75,1.61l0.73,0.74L8.2,5.6
+ c0,0,1.4-1.34,4.8-1.6V10z M8,10.24l-0.1-0.17c1.3011-0.5931,2.6827-0.9907,4.1-1.18v0.2c-1.3839,0.1953-2.7316,0.5929-4,1.18V10.24
+ z M8,9.24L7.9,9.07C9.2016,8.4802,10.5832,8.086,12,7.9v0.2c-1.3844,0.1988-2.7321,0.5997-4,1.19V9.24z M8,8.24L7.9,8.07
+ C9.2015,7.48,10.5831,7.0857,12,6.9v0.2c-1.3845,0.1981-2.7323,0.599-4,1.19V8.24z M8,7.24L7.9,7.07
+ C9.2013,6.4794,10.583,6.0851,12,5.9v0.2c-1.3844,0.1986-2.7321,0.5996-4,1.19V7.24z M6.9,10.24C5.6639,9.6641,4.3499,9.2733,3,9.08
+ v-0.2c1.3872,0.2028,2.7358,0.6141,4,1.22L6.9,10.24z M6.9,9.24C5.6629,8.671,4.3488,8.2869,3,8.1V7.9
+ c1.386,0.2027,2.7341,0.6105,4,1.21L6.9,9.24z M6.9,8.24C5.6631,7.6705,4.3489,7.2863,3,7.1V6.9c1.3868,0.199,2.7354,0.607,4,1.21
+ L6.9,8.24z M6.9,7.24C5.6629,6.671,4.3488,6.2869,3,6.1V5.9c1.386,0.2024,2.7342,0.6102,4,1.21L6.9,7.24z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/lighthouse.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/lighthouse.svg
new file mode 100644
index 00000000..d3bedc95
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/lighthouse.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M4.5,6L0,7V6.5l4.5-1V6z M4.5,3.5L0,2.5V3l4.5,1V3.5z M10.5,3.5V4L15,3V2.5L10.5,3.5z M10.5,6L15,7V6.5l-4.5-1V6z M8,7V2
+ h2.5c0.2761,0.0552,0.5448-0.1239,0.6-0.4c0.0552-0.2761-0.1239-0.5448-0.4-0.6l-3-1C7.5696-0.0586,7.4204-0.0586,7.29,0l-3,1
+ c-0.2761,0.0552-0.4552,0.3239-0.4,0.6S4.2139,2.0552,4.49,2H7v5H5l-2,7h9l-2-7H8z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/lodging.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/lodging.svg
new file mode 100644
index 00000000..6feed37b
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/lodging.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="lodging-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="rect6507" style="fill:#010101;" d="M0.5,2.5C0.2,2.5,0,2.7,0,3v7.5v2C0,12.8,0.2,13,0.5,13S1,12.8,1,12.5V11h13v1.5
+ c0,0.3,0.2,0.5,0.5,0.5s0.5-0.2,0.5-0.5v-2c0-0.3-0.2-0.5-0.5-0.5H1V3C1,2.7,0.8,2.5,0.5,2.5z M3.5,3C2.7,3,2,3.7,2,4.5l0,0
+ C2,5.3,2.7,6,3.5,6l0,0C4.3,6,5,5.3,5,4.5l0,0C5,3.7,4.3,3,3.5,3L3.5,3z M7,4C5.5,4,5.5,5.5,5.5,5.5V7h-3C2.2,7,2,7.2,2,7.5v1
+ C2,8.8,2.2,9,2.5,9H6h9V6.5C15,4,12.5,4,12.5,4H7z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/logging.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/logging.svg
new file mode 100644
index 00000000..d6c3be82
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/logging.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>logging-15</title>
+ <path d="M13.91,3.41,13.5,3l.2-.28c.02-.03.04-.05.06-.08A.969.969,0,0,0,14,1.99a1,1,0,0,0-1.62-.77c-.03.02-.06.05-.09.07L12,1.5l-.386-.386a.354.354,0,0,0-.525.475l.417.417-.5.5-.392-.392a.354.354,0,0,0-.525.475L10.5,3l-.5.5-.381-.381a.354.354,0,1,0-.528.472h0l.028.028L9.5,4,9,4.5l-.395-.395a.354.354,0,0,0-.517.483L8.5,5,8,5.5l-.365-.365a.354.354,0,0,0-.556.439h0C7.1,5.6,7.508,6,7.508,6L7,6.5l-.394-.392a.392.392,0,0,0-.5-.028.384.384,0,0,0-.028.5L6.1,6.6l.4.4L6,7.5l-.4-.4a.37.37,0,0,0-.5,0L6.248,8.244,12.09,2.41,12.5,2H13v.5l-.41.41L6.751,8.749,7.9,9.9a.355.355,0,0,0,0-.5l-.008-.009L7.5,9,8,8.5l.384.384a.354.354,0,0,0,.528-.472L8.5,8,9,7.5l.38.38a.354.354,0,0,0,.528-.472l-.02-.02L9.5,7l.5-.5.377.377A.35.35,0,0,0,10.64,7a.347.347,0,0,0,.252-.6L10.5,6l.5-.5.38.38a.354.354,0,0,0,.528-.472L11.88,5.38,11.5,5l.5-.5.381.381a.354.354,0,0,0,.528-.472l-.025-.025L12.5,4l.5-.5.382.382a.354.354,0,0,0,.528-.472ZM4.39,7.916C3.893,7.419,3.641,7,3,7H1.5a.5.5,0,0,0-.5.5v3A2.19,2.19,0,0,0,1.5,12l.815.811A2.251,2.251,0,0,0,5.493,13h0L7.5,11ZM3.5,10,2.262,11.238A1.3,1.3,0,0,1,2,10.5V8H3a.545.545,0,0,1,.335.194.455.455,0,0,1,.165.418Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/marker-stroked.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/marker-stroked.svg
new file mode 100644
index 00000000..d4e732b5
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/marker-stroked.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>marker-stroked-15</title>
+ <path id="Layer_7" data-name="Layer 7" d="M7.5,14.941l-.4-.495c-.973-1.189-4.9-6.556-4.9-9.16A5.066,5.066,0,0,1,7.036,0q.222-.01.445,0a5.066,5.066,0,0,1,5.286,4.836q.01.225,0,.45c0,2.213-2.669,6.111-4.678,8.851ZM7.481.986a4.077,4.077,0,0,0-4.3,4.3c0,1.832,2.759,6.038,4.286,8.034,1.25-1.71,4.315-5.989,4.315-8.034a4.077,4.077,0,0,0-4.3-4.3Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/marker.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/marker.svg
new file mode 100644
index 00000000..1010dc87
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/marker.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="marker-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path4133" inkscape:connector-curvature="0" d="M7.5,0C5.0676,0,2.2297,1.4865,2.2297,5.2703
+ C2.2297,7.8378,6.2838,13.5135,7.5,15c1.0811-1.4865,5.2703-7.027,5.2703-9.7297C12.7703,1.4865,9.9324,0,7.5,0z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/mobile-phone.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/mobile-phone.svg
new file mode 100644
index 00000000..c06ab697
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/mobile-phone.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>mobile-phone-15</title>
+ <path d="M10,2h0V1.5a.5.5,0,0,0-1,0V2H5A1,1,0,0,0,4,3V13a1,1,0,0,0,1,1h5a1,1,0,0,0,1-1V3A1,1,0,0,0,10,2ZM6,13H5V12H6Zm0-2H5V10H6ZM6,9H5V8H6Zm2,4H7V12H8Zm0-2H7V10H8ZM8,9H7V8H8Zm2,4H9V12h1Zm0-2H9V10h1Zm0-2H9V8h1Zm0-2.5a.5.5,0,0,1-.5.5h-4A.5.5,0,0,1,5,6.5v-3A.5.5,0,0,1,5.5,3h4a.5.5,0,0,1,.5.5Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/monument.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/monument.svg
new file mode 100644
index 00000000..1af6353d
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/monument.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="monument-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path11719-7" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccc" d="M7.5,0L6,2.5v7h3v-7L7.5,0z M3,11.5
+ L3,15h9v-3.5L10.5,10h-6L3,11.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/mountain.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/mountain.svg
new file mode 100644
index 00000000..5f5e5c45
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/mountain.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="mountain-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path5571" inkscape:connector-curvature="0" sodipodi:nodetypes="sccssssccsccccccccc" d="M7.5,2C7.2,2,7.1,2.2,6.9,2.4
+ l-5.8,9.5C1,12,1,12.2,1,12.3C1,12.8,1.4,13,1.7,13h11.6c0.4,0,0.7-0.2,0.7-0.7c0-0.2,0-0.2-0.1-0.4L8.2,2.4C8,2.2,7.8,2,7.5,2z
+ M7.5,3.5L10.8,9H10L8.5,7.5L7.5,9l-1-1.5L5,9H4.1L7.5,3.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/museum.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/museum.svg
new file mode 100644
index 00000000..f087f1d1
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/museum.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="museum-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path7509" inkscape:connector-curvature="0" d="M7.5,0L1,3.4453V4h13V3.4453L7.5,0z M2,5v5l-1,1.5547V13h13v-1.4453L13,10
+ V5H2z M4.6152,6c0.169-0.0023,0.3318,0.0639,0.4512,0.1836L7.5,8.6172l2.4336-2.4336c0.2445-0.2437,0.6402-0.2432,0.884,0.0013
+ C10.9341,6.3017,10.9997,6.46,11,6.625v4.2422c0.0049,0.3452-0.271,0.629-0.6162,0.6338c-0.3452,0.0049-0.629-0.271-0.6338-0.6162
+ c-0.0001-0.0059-0.0001-0.0118,0-0.0177V8.1328L7.9414,9.9414c-0.244,0.2433-0.6388,0.2433-0.8828,0L5.25,8.1328v2.7344
+ c0.0049,0.3452-0.271,0.629-0.6162,0.6338C4.2887,11.5059,4.0049,11.2301,4,10.8849c-0.0001-0.0059-0.0001-0.0118,0-0.0177V6.625
+ C4,6.2836,4.2739,6.0054,4.6152,6z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/music.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/music.svg
new file mode 100644
index 00000000..ebdba36a
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/music.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M13.5,1c-0.0804,0.0008-0.1594,0.0214-0.23,0.06L4.5,3.5C4.2239,3.5,4,3.7239,4,4v6.28C3.6971,10.1002,3.3522,10.0037,3,10
+ c-1.1046,0-2,0.8954-2,2s0.8954,2,2,2s2-0.8954,2-2V7.36l8-2.22v3.64c-0.3029-0.1798-0.6478-0.2763-1-0.28c-1.1046,0-2,0.8954-2,2
+ s0.8954,2,2,2s2-0.8954,2-2v-9C14,1.2239,13.7761,1,13.5,1z M13,4.14L5,6.36v-2l8-2.22C13,2.14,13,4.14,13,4.14z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/natural.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/natural.svg
new file mode 100644
index 00000000..4e177acb
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/natural.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>natural-15</title>
+ <path d="M8.753,6.278a.5.5,0,0,1-.51,0A4.109,4.109,0,0,1,6.5,3.5a2.779,2.779,0,0,0-.59-1.506l-.019-.027a.257.257,0,0,1-.056-.144.237.237,0,0,1,.25-.25.264.264,0,0,1,.057.011A3.523,3.523,0,0,1,7.5,2.5L8.28.94a.246.246,0,0,1,.44,0L9.5,2.5a3.4,3.4,0,0,1,1.339-.907.283.283,0,0,1,.1-.021c.175.009.212.119.221.249a.35.35,0,0,1-.043.141A5.2,5.2,0,0,0,10.5,3.5,4.113,4.113,0,0,1,8.753,6.278ZM5,8H6.289a.25.25,0,0,0,.25-.25.241.241,0,0,0-.061-.15L4.7,5.235a.255.255,0,0,0-.391,0L2.518,7.589a.274.274,0,0,0-.062.161.25.25,0,0,0,.25.25H4L1.335,10.6a.273.273,0,0,0-.058.152A.25.25,0,0,0,1.529,11H3L1.435,12.565a.255.255,0,0,0,.18.435H4v1H5V13H7.385a.255.255,0,0,0,.18-.435L6,11H7.471a.25.25,0,0,0,.25-.25.233.233,0,0,0-.058-.149Zm9.345,3.748a.252.252,0,0,1-.252.252H8.908a.252.252,0,0,1-.226-.365L11.27,6.451a.252.252,0,0,1,.451,0l2.6,5.184h0A.251.251,0,0,1,14.345,11.748ZM12.75,10,11.5,7.5,10.25,10Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/park-alt1.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/park-alt1.svg
new file mode 100644
index 00000000..c13adaee
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/park-alt1.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>park-alt1-15</title>
+ <path d="M9.428,10.429a.269.269,0,0,1-.074-.18A.25.25,0,0,1,9.6,10h1.447a.25.25,0,0,0,.25-.25.258.258,0,0,0-.079-.179L9.07,7.419a.3.3,0,0,1-.063-.17A.249.249,0,0,1,9.257,7H10.4a.251.251,0,0,0,.25-.251.247.247,0,0,0-.077-.178L8.432,4.434,8.418,4.42a.262.262,0,0,1-.066-.17A.25.25,0,0,1,8.6,4h.866a.25.25,0,0,0,.25-.25.246.246,0,0,0-.068-.164h.006L7.7,1.238a.253.253,0,0,0-.042-.044A.249.249,0,0,0,7.5,1.139h0a.249.249,0,0,0-.158.055.253.253,0,0,0-.042.044L5.352,3.586a.246.246,0,0,0-.068.164.25.25,0,0,0,.25.25H6.4a.241.241,0,0,1,.184.42l-.014.014L4.431,6.571a.247.247,0,0,0-.077.178A.251.251,0,0,0,4.6,7H5.745a.249.249,0,0,1,.25.249.3.3,0,0,1-.063.17L3.782,9.571A.258.258,0,0,0,3.7,9.75a.25.25,0,0,0,.25.25H5.4a.25.25,0,0,1,.248.249.269.269,0,0,1-.074.18l-2.14,2.132-.009.009a.248.248,0,0,0,0,.351A.256.256,0,0,0,3.605,13H7v1l1-.008V13h3.391a.263.263,0,0,0,.26-.254.248.248,0,0,0-.071-.177Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/park.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/park.svg
new file mode 100644
index 00000000..4f208cc9
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/park.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M14,5.75c0.0113-0.6863-0.3798-1.3159-1-1.61C12.9475,3.4906,12.4014,2.9926,11.75,3
+ c-0.0988,0.0079-0.1962,0.0281-0.29,0.06c-0.0607-0.66-0.6449-1.1458-1.3048-1.0851C9.8965,1.9987,9.6526,2.1058,9.46,2.28l0,0
+ c0-0.6904-0.5596-1.25-1.25-1.25S6.96,1.5896,6.96,2.28C6.96,2.28,7,2.3,7,2.33C6.4886,1.8913,5.7184,1.9503,5.2797,2.4618
+ C5.1316,2.6345,5.0347,2.8451,5,3.07C4.8417,3.0195,4.6761,2.9959,4.51,3C3.6816,2.9931,3.0044,3.659,2.9975,4.4874
+ C2.9958,4.6872,3.0341,4.8852,3.11,5.07C2.3175,5.2915,1.8546,6.1136,2.0761,6.9061C2.2163,7.4078,2.6083,7.7998,3.11,7.94
+ c0.2533,0.7829,1.0934,1.2123,1.8763,0.959C5.5216,8.7258,5.9137,8.2659,6,7.71C6.183,7.8691,6.4093,7.9701,6.65,8v5L5,14h5l-1.6-1
+ v-2c0.7381-0.8915,1.6915-1.5799,2.77-2c0.8012,0.1879,1.603-0.3092,1.7909-1.1103C12.9893,7.7686,13.0025,7.6444,13,7.52
+ c0.0029-0.0533,0.0029-0.1067,0-0.16C13.6202,7.0659,14.0113,6.4363,14,5.75z M8.4,10.26V6.82C8.6703,7.3007,9.1785,7.5987,9.73,7.6
+ h0.28c0.0156,0.4391,0.2242,0.849,0.57,1.12C9.7643,9.094,9.0251,9.6162,8.4,10.26z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/parking-garage.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/parking-garage.svg
new file mode 100644
index 00000000..d7c0b9a4
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/parking-garage.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path style="fill:#231F20;" d="M10.5,10.14c-0.6637,0.4788-1.4732,0.7121-2.29,0.66h-1.9V14h-1.9V5h3.92
+ c0.7801-0.0414,1.5484,0.2041,2.16,0.69c0.5779,0.5595,0.875,1.3483,0.81,2.15C11.4042,8.6892,11.1088,9.5388,10.5,10.14z M9,6.9
+ C8.711,6.6881,8.3579,6.5822,8,6.6H6.31v2.65H8c0.3612,0.0191,0.717-0.0947,1-0.32c0.2559-0.2675,0.3867-0.6308,0.36-1
+ C9.4072,7.5493,9.274,7.1684,9,6.9z M14.41,4.21c0.114-0.2486,0.007-0.5427-0.24-0.66L7.5,0.45l-6.71,3.1
+ C0.5387,3.666,0.429,3.9637,0.545,4.215C0.661,4.4663,0.9587,4.576,1.21,4.46l0,0L7.5,1.55l6.29,2.9
+ c0.2486,0.114,0.5427,0.007,0.66-0.24H14.41z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/parking.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/parking.svg
new file mode 100644
index 00000000..d4370e2e
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/parking.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M11.85,8.37c-0.9532,0.7086-2.1239,1.0623-3.31,1H5.79V14H3V1h5.72c1.1305-0.0605,2.244,0.2952,3.13,1
+ c0.8321,0.8147,1.2543,1.9601,1.15,3.12C13.1271,6.3214,12.7045,7.5159,11.85,8.37z M9.75,3.7C9.3254,3.3892,8.8052,3.237,8.28,3.27
+ H5.79v3.82h2.49c0.5315,0.0326,1.056-0.1351,1.47-0.47c0.3795-0.3947,0.5693-0.9346,0.52-1.48C10.324,4.606,10.1327,4.0763,9.75,3.7
+ z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/pharmacy.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/pharmacy.svg
new file mode 100644
index 00000000..2efd6fa0
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/pharmacy.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M9.5,4l1.07-1.54c0.0599,0.0046,0.1201,0.0046,0.18,0c0.6904-0.0004,1.2497-0.5603,1.2494-1.2506
+ C11.999,0.519,11.4391-0.0404,10.7487-0.04C10.0584-0.0396,9.499,0.5203,9.4994,1.2106c0,0.0131,0.0002,0.0262,0.0006,0.0394
+ c0,0,0,0.07,0,0.1L7,4H9.5z M12,6V5H3v1l1.5,3.5L3,13v1h9v-1l-1-3.5L12,6z M10,10H8v2H7v-2H5V9h2V7h1v2h2V10z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/picnic-site.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/picnic-site.svg
new file mode 100644
index 00000000..87b49bd6
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/picnic-site.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="picnic-site-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="rect4760" inkscape:connector-curvature="0" style="fill:#010101;" d="M4,3C3.446,3,3,3.446,3,4s0.446,1,1,1h1.2969
+ L4.6523,7H2.5c-0.554,0-1,0.446-1,1s0.446,1,1,1h1.5098L3.041,12.0098c-0.1284,0.3939,0.0868,0.8173,0.4807,0.9457
+ s0.8173-0.0868,0.9457-0.4807c0.0005-0.0013,0.0009-0.0027,0.0013-0.004L5.5859,9h3.8281l1.1172,3.4707
+ c0.1273,0.3943,0.5501,0.6107,0.9443,0.4834s0.6107-0.5501,0.4834-0.9443l0,0L10.9902,9H12.5c0.554,0,1-0.446,1-1s-0.446-1-1-1
+ h-2.1523L9.7031,5H11c0.554,0,1-0.446,1-1s-0.446-1-1-1H4z M6.873,5H8.127l0.6445,2h-2.543L6.873,5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/pitch.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/pitch.svg
new file mode 100644
index 00000000..2e2e3c9e
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/pitch.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M5,3C4.4477,3,4,2.5523,4,2s0.4477-1,1-1s1,0.4477,1,1S5.5523,3,5,3z M12.5,10H10L9,7L8,5.25L9,5l2.3,1l0,0
+ c0.2761,0.1105,0.5895-0.0239,0.7-0.3S11.9761,5.1105,11.7,5l0,0L9,4H7L5,5L4,6H2.5C2.2239,6,2,6.2239,2,6.5S2.2239,7,2.5,7H5l1-1
+ l1,2l-2,2v3.5C5,13.7761,5.2239,14,5.5,14S6,13.7761,6,13.5v-3.11L8,9l1,2h3.5c0.2761,0,0.5-0.2239,0.5-0.5S12.7761,10,12.5,10z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/place-of-worship.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/place-of-worship.svg
new file mode 100644
index 00000000..d77ce067
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/place-of-worship.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="place-of-worship-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path9064" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccssccsscccccssccss" d="M7.5,0l-2,2v2h4V2
+ L7.5,0z M5.5,4.5L4,6h7L9.5,4.5H5.5z M2,6.5c-0.5523,0-1,0.4477-1,1V13h2V7.5C3,6.9477,2.5523,6.5,2,6.5z M4,6.5V13h7V6.5H4z
+ M13,6.5c-0.5523,0-1,0.4477-1,1V13h2V7.5C14,6.9477,13.5523,6.5,13,6.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/playground.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/playground.svg
new file mode 100644
index 00000000..80d88662
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/playground.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M2,1.15c0.2091-0.8016,1.0284-1.2819,1.83-1.0729s1.2819,1.0284,1.0729,1.83C4.7026,2.6752,3.9386,3.1542,3.16,3
+ C2.3474,2.839,1.8191,2.0498,1.98,1.2371C1.9858,1.2079,1.9925,1.1788,2,1.15z M13,12.32c0.1032,0.5426-0.2531,1.066-0.7956,1.1692
+ c-0.0015,0.0003-0.0029,0.0006-0.0044,0.0008c-0.4252,0.086-0.8574-0.1119-1.07-0.49l0,0L9.45,9.63L8,9.92L7.78,10H7.72v2.15
+ L8.34,12h0.14c0.2871,0.0054,0.5155,0.2425,0.5101,0.5297C8.9862,12.7361,8.8606,12.9207,8.67,13l-5,1l0,0
+ c-0.0563,0.0095-0.1137,0.0095-0.17,0c-0.2872,0-0.52-0.2328-0.52-0.52c0-0.2099,0.1262-0.3993,0.32-0.48l0,0l4.15-0.83V10
+ l-3.22,0.58l0,0c-0.164,0.0423-0.336,0.0423-0.5,0c-0.3394-0.0867-0.6088-0.3446-0.71-0.68H3L2,5.83l0,0
+ C1.9688,5.6884,1.9688,5.5416,2,5.4c0.0936-0.387,0.4078-0.6815,0.8-0.75l0,0l4.7-0.52V0h0.22v4.1h0.06L8,4.08L8.4,4h0.21
+ c0.2673,0.0643,0.4326,0.3323,0.37,0.6C8.9361,4.835,8.729,5.0041,8.49,5L8,5.08H7.78H7.72v2.86h0.06L8,7.88l1.81-0.36l0,0l0,0
+ c0.4275-0.0352,0.8299,0.2062,1,0.6l0,0l2,3.94l0,0C12.887,12.1358,12.9511,12.2236,13,12.32z M7.5,5.13L5,5.4l0.74,2.94L7.5,8V5.13
+ z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/police.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/police.svg
new file mode 100644
index 00000000..be3c38f1
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/police.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="police-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="rect4718" d="M5.5,1L6,2h5l0.5-1H5.5z M6,2.5v1.25c0,0,0,2.75,2.5,2.75S11,3.75,11,3.75V2.5H6z M1.9844,3.9863
+ C1.4329,3.9949,0.9924,4.4485,1,5v4c-0.0001,0.6398,0.5922,1.1152,1.2168,0.9766L5,9.3574V14l5.8789-6.9297
+ C10.7391,7.0294,10.5947,7,10.4414,7H6.5L3,7.7539V5C3.0077,4.4362,2.5481,3.9775,1.9844,3.9863z M11.748,7.7109L6.4121,14H12
+ V8.5586C12,8.2451,11.9061,7.9548,11.748,7.7109z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/post.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/post.svg
new file mode 100644
index 00000000..27fd010e
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/post.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M14,6.5V12c0,0.5523-0.4477,1-1,1H2c-0.5523,0-1-0.4477-1-1V6.5C1,6.2239,1.2239,6,1.5,6
+ c0.0692-0.0152,0.1408-0.0152,0.21,0l0,0l5.79,4l5.8-4l0,0c0.066-0.0138,0.134-0.0138,0.2,0C13.7761,6,14,6.2239,14,6.5z M1.25,3.92
+ L1.25,3.92L1.33,4L7.5,8l6.19-4l0,0h0.06l0,0c0.1796-0.0981,0.2792-0.2975,0.25-0.5C14,3.2239,13.7761,3,13.5,3h-12
+ C1.2239,3,1,3.2239,1,3.5C1.0026,3.6745,1.0978,3.8345,1.25,3.92z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/prison.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/prison.svg
new file mode 100644
index 00000000..e680b48a
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/prison.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="prison-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="rect3607" d="M3.5,1v13H12V1H3.5z M9.5,2H11v3.5H9.5V2z M4.5,2.0547H6V7H4.5V2.0547z M7,2.0547h1.5V7H7V2.0547z M10.25,6.5
+ C10.6642,6.5,11,6.8358,11,7.25S10.6642,8,10.25,8l0,0C9.8358,8,9.5,7.6642,9.5,7.25l0,0C9.5,6.8358,9.8358,6.5,10.25,6.5z M7,8
+ h1.4727L8.5,13H7.0273L7,8z M4.5,8.166H6V13H4.5V8.166z M9.5,9H11v4H9.5V9z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/rail-light.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/rail-light.svg
new file mode 100644
index 00000000..6a67b193
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/rail-light.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="rail-light-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path14245" d="M5.5,0C5,0,5,0.5,5,0.5v1C5,1.777,5.223,2,5.5,2S6,1.777,6,1.5V1h1v2H6c0,0-2,0-2,2v3c0,3,3,3,3,3h1
+ c0,0,3,0,3-3V5c0-2-2-2-2-2H8V1h1v0.5C9,1.777,9.223,2,9.5,2S10,1.777,10,1.5v-1C10,0,9.5,0,9.5,0H5.5z M7.5,4l2.0449,0.7734L10,6.5
+ C10.1316,7,9.5,7,9.5,7h-4c0,0-0.6316,0-0.5-0.5l0.4551-1.7266L7.5,4z M7.5,8C7.7761,8,8,8.2239,8,8.5S7.7761,9,7.5,9
+ S7,8.7761,7,8.5S7.2239,8,7.5,8z M4.125,12L3,15h1.5l0.375-1h5.25l0.375,1H12l-1.125-3h-1.5l0.375,1h-4.5l0.375-1H4.125z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/rail-metro.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/rail-metro.svg
new file mode 100644
index 00000000..530da885
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/rail-metro.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="rail-metro-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path5258" d="M5.5,0c0,0-0.75,0-1,1L3,6.5V10c0,1,1,1,1,1h7c0,0,1,0,1-1V6.5L10.5,1c-0.2727-1-1-1-1-1H5.5z M6.5,1.5h2
+ c0,0,0.5357,0,0.75,1L10,6c0.2146,1.0017-1,1-1,1H6c0,0-1.2146,0.0017-1-1l0.75-3.5C5.9643,1.5,6.5,1.5,6.5,1.5z M5,8
+ c0.5523,0,1,0.4477,1,1s-0.4477,1-1,1S4,9.5523,4,9S4.4477,8,5,8z M6.75,8h1.5C8.3885,8,8.5,8.1115,8.5,8.25S8.3885,8.5,8.25,8.5
+ h-1.5C6.6115,8.5,6.5,8.3885,6.5,8.25S6.6115,8,6.75,8z M10,8c0.5523,0,1,0.4477,1,1s-0.4477,1-1,1S9,9.5523,9,9S9.4477,8,10,8z
+ M4.125,12L3,15h1.5l0.375-1h5.25l0.375,1H12l-1.125-3h-1.5l0.375,1h-4.5l0.375-1H4.125z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/rail.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/rail.svg
new file mode 100644
index 00000000..f57601e9
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/rail.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ width="15px"
+ height="15px"
+ viewBox="0 0 15 15"
+ style="enable-background:new 0 0 15 15;"
+ xml:space="preserve"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="rail-15.svg"><metadata
+ id="metadata11"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+ id="defs9" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1735"
+ inkscape:window-height="697"
+ id="namedview7"
+ showgrid="true"
+ inkscape:zoom="22.250293"
+ inkscape:cx="-0.89448384"
+ inkscape:cy="7.3284519"
+ inkscape:window-x="20"
+ inkscape:window-y="43"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1"><inkscape:grid
+ type="xygrid"
+ id="grid3339" /></sodipodi:namedview><path
+ d="M 3 1 C 2.4477 1 2 1.4477 2 2 L 2 10 C 2 10.5523 2.4477 11 3 11 L 12 11 C 12.5523 11 13 10.5523 13 10 L 13 2 C 13 1.4477 12.5523 1 12 1 L 3 1 z M 5.75 1.5 L 5.7597656 1.5 L 9.2597656 1.5 C 9.3978656 1.5 9.5097656 1.6119 9.5097656 1.75 C 9.5097656 1.8881 9.3978656 2 9.2597656 2 L 5.75 2 C 5.6119 2 5.5 1.8881 5.5 1.75 C 5.5 1.6119 5.6119 1.5 5.75 1.5 z M 3.5 3 L 7 3 L 7 7 L 3.5 7 C 3.2239 7 3 6.7761 3 6.5 L 3 3.5 C 3 3.2239 3.2239 3 3.5 3 z M 8 3 L 11.5 3 C 11.7761 3 12 3.2239 12 3.5 L 12 6.5 C 12 6.7761 11.7761 7 11.5 7 L 8 7 L 8 3 z M 5 8 C 5.5523 8 6 8.4477 6 9 C 6 9.5523 5.5523 10 5 10 C 4.4477 10 4 9.5523 4 9 C 4 8.4477 4.4477 8 5 8 z M 10 8 C 10.5523 8 11 8.4477 11 9 C 11 9.5523 10.5523 10 10 10 C 9.4477 10 9 9.5523 9 9 C 9 8.4477 9.4477 8 10 8 z M 10.445312 11.994141 C 10.380597 11.999652 10.314981 12.018581 10.253906 12.050781 C 10.030606 12.168381 9.9302313 12.433922 10.019531 12.669922 L 10.189453 13 L 4.8105469 13 L 4.9394531 12.730469 C 5.0371531 12.472169 4.9067375 12.183637 4.6484375 12.085938 C 4.4124375 11.996738 4.1468969 12.097113 4.0292969 12.320312 L 3.0292969 14.320312 C 3.0080969 14.377912 2.9986 14.4387 3 14.5 C 3 14.7761 3.2239 15 3.5 15 C 3.6802 14.999 3.8450875 14.899434 3.9296875 14.740234 L 3.9296875 14.689453 L 4 14.689453 L 4.3105469 14 L 10.689453 14 L 11 14.689453 L 11 14.740234 C 11.0846 14.899434 11.249488 14.999 11.429688 15 C 11.705787 15 11.929688 14.7761 11.929688 14.5 C 11.949587 14.4212 11.949587 14.338566 11.929688 14.259766 L 10.929688 12.259766 C 10.833163 12.076541 10.639459 11.977608 10.445312 11.994141 z "
+ id="path3" /></svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/ranger-station.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/ranger-station.svg
new file mode 100644
index 00000000..ba17035b
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/ranger-station.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="ranger-station-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="rect4911" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccc" d="M9,0.5l-2,1v3.7734L2,8v6h4v-4h3
+ v4h4V8L8,5.2734V4l1-0.5l2,1l2-1v-3l-2,1L9,0.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/recycling.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/recycling.svg
new file mode 100644
index 00000000..c48d3d22
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/recycling.svg
@@ -0,0 +1,10 @@
+<svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>recycling-15</title>
+<path d="M2.4556,8.6134C2.118,9.2112,1.501,10.3021,2.593,11.0312c0.3432,0.2268,0.7275,0.3836,1.131,0.4614
+ C4.0314,11.5382,4.0466,12.0111,3.6855,12c-0.3849-0.0193-2.2596-0.1934-2.5606-1.5995c-0.1556-0.8213,0.0204-1.5571,0.504-2.3556
+ L2.3263,6.812L1.0196,6.0688L4.5,4v4L3.1941,7.3057L2.4556,8.6134z M6.7,2.034c1.155-0.628,1.823,0.43,2.191,1.007l0.8059,1.2631
+ L8.431,5.112L12,6.986L11.803,2.96l-1.2639,0.8066L9.779,2.578C9.2572,1.8321,8.875,1.2812,7.944,1.033
+ C6.307,0.7203,5.3007,2.6194,5.311,2.607c-0.1639,0.2871,0.2156,0.5399,0.451,0.21C6.0202,2.4969,6.339,2.2309,6.7,2.034z
+ M13.294,8.221c-0.0877-0.1897-0.5487-0.1413-0.419,0.267c0.1312,0.3892,0.1845,0.8003,0.157,1.21C12.939,11.01,11.684,11,11,11H9.5
+ V9.5l-3.5,2l3.488,2.025L9.4926,12H11c0.8906,0.0153,1.5999-0.1759,2.2-0.713C14.4,10.226,13.294,8.221,13.294,8.221z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/religious-christian.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/religious-christian.svg
new file mode 100644
index 00000000..1f9c7de8
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/religious-christian.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="religious-christian-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="rect3338" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccczccc" d="M6,0.9552V4H3v3h3v8h3V7h3V4H9V1
+ c0-1-0.9776-1-0.9776-1H6.9887C6.9887,0,6,0,6,0.9552z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/religious-jewish.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/religious-jewish.svg
new file mode 100644
index 00000000..01963d26
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/religious-jewish.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M15,12H9.78L7.5,15l-2.26-3H0l2.7-4L0,4h5.3l2.2-4l2.34,4H15l-2.56,4L15,12z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/religious-muslim.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/religious-muslim.svg
new file mode 100644
index 00000000..214578ba
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/religious-muslim.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="religious-muslim-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path7552-2-1" inkscape:connector-curvature="0" sodipodi:nodetypes="ssscssscsccccccccccc" d="M6.7941,0C3,0,0,3,0,6.7941
+ s3,6.7941,6.7941,6.7941c2.1176,0,4.4118-0.7059,5.6471-2.2941C11.6471,11.8235,10.1471,12.4412,9,12.4412
+ c-2.9118,0-5.1176-2.9118-5.1176-5.8235S6.0882,1.1471,9,1.1471c1.0588,0,2.5588,0.6176,3.4412,1.1471
+ C11.2059,0.7059,8.9118,0,6.7941,0z M11,3l-1,2.5H7L9.5,7l-1,3L11,8.5l2.5,1.5l-1-3L15,5.5h-3L11,3z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/residential-community.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/residential-community.svg
new file mode 100644
index 00000000..af5f8a2d
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/residential-community.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<title>buildings</title>
+<path d="M11.8,13.5V11c0.7-0.1,1.2-0.7,1.2-1.5S12.3,8,11.5,8S10,8.7,10,9.5c0,0.7,0.5,1.4,1.2,1.5v2.5H7V2H2v11.5H1V14h13v-0.5
+ H11.8z M6,11H3v-1h3V11z M6,9H3V8h3V9z M6,7H3V6h3V7z M6,5H3V4h3V5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/restaurant.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/restaurant.svg
new file mode 100644
index 00000000..e9af25bf
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/restaurant.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r" sodipodi:docname="restaurant-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path11774" d="M3.5,0l-1,5.5c-0.1464,0.805,1.7815,1.181,1.75,2L4,14c-0.0384,0.9993,1,1,1,1s1.0384-0.0007,1-1L5.75,7.5
+ c-0.0314-0.8176,1.7334-1.1808,1.75-2L6.5,0H6l0.25,4L5.5,4.5L5.25,0h-0.5L4.5,4.5L3.75,4L4,0H3.5z M12,0
+ c-0.7364,0-1.9642,0.6549-2.4551,1.6367C9.1358,2.3731,9,4.0182,9,5v2.5c0,0.8182,1.0909,1,1.5,1L10,14c-0.0905,0.9959,1,1,1,1
+ s1,0,1-1V0z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/roadblock.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/roadblock.svg
new file mode 100644
index 00000000..b6ac056c
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/roadblock.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="roadblock-24" d="M7.5,0C3.3579,0,0,3.3579,0,7.5S3.3579,15,7.5,15S15,11.6421,15,7.5S11.6421,0,7.5,0z M3,6h9v3H3V6z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/rocket.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/rocket.svg
new file mode 100644
index 00000000..687829fd
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/rocket.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="rocket-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path7143" inkscape:connector-curvature="0" d="M12.5547,1c-2.1441,0-5.0211,1.471-6.9531,4H4
+ C2.8427,5,2.1794,5.8638,1.7227,6.7773L1.1113,8h1.4434H4l1.5,1.5L7,11v1.4453v1.4434l1.2227-0.6113
+ C9.1362,12.8206,10,12.1573,10,11V9.3984c2.529-1.932,4-4.809,4-6.9531V1H12.5547z M10,4c0.5523,0,1,0.4477,1,1l0,0
+ c0,0.5523-0.4477,1-1,1l0,0C9.4477,6,9,5.5523,9,5v0C9,4.4477,9.4477,4,10,4L10,4z M3.5,10L3,10.5C2.2778,11.2222,2,13,2,13
+ s1.698-0.198,2.5-1L5,11.5L3.5,10z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/school.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/school.svg
new file mode 100644
index 00000000..c2fba7c6
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/school.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M11,13v-1h2v-1H9.5v-1H13V9h-2V8h2V7h-2V6h2V5H9.5V4H13V3h-2V2h2V1H8v13h5v-1H11z M6,11H2V1h4V11z M6,12l-2,2l-2-2H6z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/scooter.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/scooter.svg
new file mode 100644
index 00000000..1282927e
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/scooter.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>scooter-15</title>
+ <path d="M4.908,12a1.5,1.5,0,1,1-2.816,0Zm8.65-6C13.539,6,13,6,13,6V3h.351a.282.282,0,0,0,.223-.148l.268-.536a.334.334,0,0,0,.009-.066A.25.25,0,0,0,13.6,2H13V1.7a.215.215,0,0,0-.2-.2H9.25a.25.25,0,0,0,0,.5H12V6.6L7.6,10H6V7.5A.5.5,0,0,0,5.5,7H5V5H6.75a.25.25,0,0,0,0-.5L2.266,4.034c-.006,0-.01-.007-.016-.007a.25.25,0,0,0-.25.25V4.75A.25.25,0,0,0,2.25,5H3V7H2.5A1.538,1.538,0,0,0,1,8.5v2a.472.472,0,0,0,.442.5C1.461,11,7.5,11,7.5,11L10,10h3.5a.472.472,0,0,0,.5-.442C14,9.539,14,6.5,14,6.5A.472.472,0,0,0,13.558,6ZM12.5,11A1.5,1.5,0,1,0,14,12.5,1.538,1.538,0,0,0,12.5,11Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/shelter.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/shelter.svg
new file mode 100644
index 00000000..8402fc49
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/shelter.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M4,7v5h9.5v2H2l0,0l0,0V7.78L1,8.16V6l13-5v2.14L4,7z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/shop.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/shop.svg
new file mode 100644
index 00000000..321bf468
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/shop.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M13.33,6H11.5l-0.39-2.33c-0.1601-0.7182-0.7017-1.2905-1.41-1.49C9.3507,2.0676,8.9869,2.007,8.62,2H6.38
+ C6.0131,2.007,5.6493,2.0676,5.3,2.18C4.5917,2.3795,4.0501,2.9518,3.89,3.67L3.5,6H1.67C1.3939,5.9983,1.1687,6.2208,1.167,6.497
+ C1.1667,6.5489,1.1744,6.6005,1.19,6.65l1.88,6.3l0,0C3.2664,13.5746,3.8453,13.9996,4.5,14h6c0.651-0.0047,1.2247-0.4289,1.42-1.05
+ l0,0l1.88-6.3c0.0829-0.2634-0.0635-0.5441-0.3269-0.627C13.4268,6.0084,13.3786,6.0007,13.33,6z M4.52,6l0.36-2.17
+ c0.0807-0.3625,0.3736-0.6395,0.74-0.7C5.8663,3.0524,6.1219,3.0087,6.38,3h2.24c0.2614,0.0078,0.5205,0.0515,0.77,0.13
+ c0.3664,0.0605,0.6593,0.3375,0.74,0.7L10.48,6h-6H4.52z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/skiing.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/skiing.svg
new file mode 100644
index 00000000..d34597fb
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/skiing.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M15,4.5C15,5.3284,14.3284,6,13.5,6S12,5.3284,12,4.5S12.6716,3,13.5,3S15,3.6716,15,4.5z M13.72,11.89
+ c-0.0623-0.1197-0.2083-0.1684-0.33-0.11c-0.6846,0.4194-1.5208,0.5111-2.28,0.25L4.78,8.86L7.5,7.5v-3L9,5.25v3L10.5,9L12,8.25
+ L10.5,7.5V3l-3-1.5L6,2.25v4.5L3.28,8.11L0.61,6.78C0.4857,6.7192,0.3358,6.7707,0.275,6.895C0.2142,7.0193,0.2657,7.1692,0.39,7.23
+ l10.5,5.25c0.3156,0.135,0.6568,0.1998,1,0.19c0.5998-0.0103,1.1889-0.161,1.72-0.44c0.1236-0.0615,0.174-0.2116,0.1125-0.3352
+ C13.7217,11.8932,13.7208,11.8916,13.72,11.89z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/slaughterhouse.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/slaughterhouse.svg
new file mode 100644
index 00000000..f5679853
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/slaughterhouse.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>slaughterhouse-15-01</title>
+ <path d="M15,8.1c0,1.376-1.363.694-1.363.694L12.5,9H11a5.309,5.309,0,0,1-1.5,2,3.272,3.272,0,0,1-.523,1.125c-.077.091-.061.2-.068.33L9,14.755a.264.264,0,0,1-.266.25A.242.242,0,0,1,8.5,14.8L8,11.5H4v3.253A.247.247,0,0,1,3.753,15h0a.25.25,0,0,1-.241-.2L3,12v-.5a8.2,8.2,0,0,1-1.426-.1A1.886,1.886,0,0,1,.9,12.826c-.128.083-.148.211-.133.386,0,0,.19,1.532.19,1.538a.25.25,0,0,1-.25.25.238.238,0,0,1-.23-.174l-.427-1.7a.35.35,0,0,1,.055-.3c.437-.68-.049-2.55-.049-2.55A1.354,1.354,0,0,1,0,9.922V7.5A2.027,2.027,0,0,1,2.736,5.586s.1.03.142.049a15.15,15.15,0,0,0,3.814.038l.179-.062a1.842,1.842,0,0,1,1.26,0,.972.972,0,0,1,.227.089,1.994,1.994,0,0,1,.287.171A1.8,1.8,0,0,0,9.5,6h1V5l.5.5c.5-1.5,2.5-1,2.5-1a1.687,1.687,0,0,0-1.5,1l2.5,2a.613.613,0,0,1,.186-.069A.318.318,0,0,1,15,7.752V8.1Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/snowmobile.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/snowmobile.svg
new file mode 100644
index 00000000..428bd0c8
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/snowmobile.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>snowmobile-15</title>
+ <path d="M15,11a1,1,0,0,1-1,1l0,0v0H9.4142a1,1,0,0,1-.7071-.2929L7.146,10.146A.4984.4984,0,0,0,6.7935,10H3.3343a1.0023,1.0023,0,0,1-.6015-.2006L1.3857,8.7888A1.0134,1.0134,0,0,1,1,8a.9953.9953,0,0,1,.4719-.8444L5,5,6.0385,3.3076h0A.5.5,0,0,1,7,3.5V7L8,8H9l5.4115-.9922a.5.5,0,0,1,.3555.915L13,9l1.6313,1.2243A.99.99,0,0,1,15,11ZM5.5,11H3.2247a3.0035,3.0035,0,0,1-1.44-.3679L.74,10.0612a.5.5,0,0,0-.48.8775l1.2687.6934A3.0032,3.0032,0,0,0,2.969,12H5.5a.5.5,0,0,0,0-1Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/soccer.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/soccer.svg
new file mode 100644
index 00000000..374a2a05
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/soccer.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M11,1.5C11,2.3284,10.3284,3,9.5,3S8,2.3284,8,1.5S8.6716,0,9.5,0S11,0.6716,11,1.5z M11,11c-0.5523,0-1,0.4477-1,1
+ s0.4477,1,1,1s1-0.4477,1-1S11.5523,11,11,11z M12.84,6.09l-1.91-1.91l0,0C10.8399,4.0675,10.7041,4.0014,10.56,4H3.5
+ C3.2239,4,3,4.2239,3,4.5S3.2239,5,3.5,5h2.7L3,11.3l0,0c-0.0138,0.066-0.0138,0.134,0,0.2c-0.058,0.2761,0.1189,0.547,0.395,0.605
+ C3.6711,12.163,3.942,11.9861,4,11.71l0,0L5,10h2l-1.93,4.24l0,0C5.0228,14.3184,4.9986,14.4085,5,14.5
+ c-0.0552,0.2761,0.1239,0.5448,0.4,0.6c0.2761,0.0552,0.5448-0.1239,0.6-0.4l0,0l4.7-9.38l1.44,1.48
+ c0.211,0.1782,0.5264,0.1516,0.7046-0.0593C13.0037,6.5523,13.0018,6.2761,12.84,6.09z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/square-stroked.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/square-stroked.svg
new file mode 100644
index 00000000..bcc7119d
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/square-stroked.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M12.7,2.3v10.4H2.3V2.3H12.7 M13,1H2C1.4477,1,1,1.4477,1,2v11c0,0.5523,0.4477,1,1,1h11c0.5523,0,1-0.4477,1-1V2
+ C14,1.4477,13.5523,1,13,1L13,1z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/square.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/square.svg
new file mode 100644
index 00000000..f1bddb22
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/square.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M13,14H2c-0.5523,0-1-0.4477-1-1V2c0-0.5523,0.4477-1,1-1h11c0.5523,0,1,0.4477,1,1v11C14,13.5523,13.5523,14,13,14z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/stadium.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/stadium.svg
new file mode 100644
index 00000000..a57cc539
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/stadium.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="stadium-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path4177" d="M7,1v2v1.5v0.5098C4.1695,5.1037,2.0021,5.9665,2,7v4.5c0,1.1046,2.4624,2,5.5,2s5.5-0.8954,5.5-2V7
+ c-0.0021-1.0335-2.1695-1.8963-5-1.9902V4.0625L11,2.75L7,1z M3,8.1465c0.5148,0.2671,1.2014,0.4843,2,0.6328v2.9668
+ C3.7948,11.477,3,11.0199,3,10.5V8.1465z M12,8.1484V10.5c0,0.5199-0.7948,0.977-2,1.2461V8.7812
+ C10.7986,8.6328,11.4852,8.4155,12,8.1484z M6,8.9219C6.4877,8.973,6.9925,8.9992,7.5,9C8.0073,8.9999,8.5121,8.9743,9,8.9238
+ v2.9844C8.5287,11.964,8.0288,12,7.5,12S6.4713,11.964,6,11.9082V8.9219z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/star-stroked.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/star-stroked.svg
new file mode 100644
index 00000000..f7847a69
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/star-stroked.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path4749-2-8-2" style="fill:#010101;" d="M7.5,3.19l1.07,2.68L8.82,6.5h3l-2,1.75l-0.5,0.44l0.23,0.63l1,3.13l-2.48-1.77
+ l-0.57-0.4l-0.57,0.4l-2.52,1.77l1-3.13l0.21-0.63l-0.5-0.44l-2-1.75h3l0.25-0.63L7.5,3.19 M7.5,0.5l-2,5h-5l4,3.5l-2,6l5-3.5l5,3.5
+ l-2-6l4-3.5h-5L7.5,0.5L7.5,0.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/star.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/star.svg
new file mode 100644
index 00000000..8732de80
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/star.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="star-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path4749-2-8-2" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccc" d="M7.5,0l-2,5h-5l4,3.5l-2,6l5-3.5
+ l5,3.5l-2-6l4-3.5h-5L7.5,0z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/suitcase.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/suitcase.svg
new file mode 100644
index 00000000..c55d73cf
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/suitcase.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="suitcase-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path17" inkscape:connector-curvature="0" sodipodi:nodetypes="csccsccssccssccccccc" d="M11,4V2c0-1-1-1-1-1H5.0497
+ c0,0-1.1039,0.0015-1.0497,1v2H2c0,0-1,0-1,1v7c0,1,1,1,1,1h11c0,0,1,0,1-1V5c0-1-1-1-1-1H11z M5.5,2.5h4V4h-4V2.5z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/sushi.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/sushi.svg
new file mode 100644
index 00000000..a99b5281
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/sushi.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="sushi-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path4999" d="M5.5,3C5.2239,3,5,3.2239,5,3.5H2.75C1.2265,3.5,0,4.7265,0,6.25c0,0.8274,0.3687,1.5592,0.9434,2.0625
+ C0.3803,8.6675,0,9.2893,0,10c0,1.0994,0.9006,2,2,2h3.5h2H10c1.0994,0,2-0.9006,2-2c0-0.4883-0.1863-0.9294-0.4805-1.2773
+ l2.1777,0.9629c0.3716,0.1831,0.8213,0.0303,1.0044-0.3413c0.1831-0.3716,0.0303-0.8213-0.3413-1.0044
+ c-0.0188-0.0093-0.038-0.0178-0.0576-0.0254l-1.8105-0.8027l1.6309-0.2715c0.4099-0.0599,0.6936-0.4408,0.6337-0.8507
+ c-0.0544-0.3724-0.3765-0.6469-0.7528-0.6415c-0.0426,0.0003-0.085,0.0042-0.127,0.0117l-2.1309,0.3555
+ C11.2595,4.9521,10.0387,3.7837,8,3.5488V3.5C8,3.2239,7.7761,3,7.5,3H5.5z M6,4h1v5v2H6V9V4z M9.5,8
+ c0.259,0,0.4638,0.1974,0.4902,0.4492l0.0762-0.1328c0.1385-0.2399,0.4437-0.3201,0.6836-0.1816s0.3201,0.4418,0.1816,0.6816
+ l-0.2578,0.4473C10.8727,9.445,11,9.7021,11,10c0,0.5626-0.4374,1-1,1H8V9h1V8.5C9,8.223,9.223,8,9.5,8z M2.4395,8.0703
+ c0.1934-0.0242,0.3903,0.0662,0.4941,0.2461l0.2012,0.3477C3.226,8.5647,3.3538,8.5,3.5,8.5C3.777,8.5,4,8.723,4,9h1v2H2
+ c-0.5626,0-1-0.4374-1-1s0.4374-1,1-1h0.1738L2.0684,8.8164C1.9299,8.5765,2.0101,8.2733,2.25,8.1348
+ C2.31,8.1001,2.375,8.0784,2.4395,8.0703z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/swimming.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/swimming.svg
new file mode 100644
index 00000000..7227a4d8
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/swimming.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="swimming-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path16388" inkscape:connector-curvature="0" d="M10.1113,2C9.9989,2,9.6758,2.1465,9.6758,2.1465L6.3535,3.8262
+ C5.9111,4.0024,5.7358,4.7081,6.002,5.0605l0.9707,1.4082L3.002,8.498L5,9.998l2.502-1.5l2.5,1.5l1.002-1.002l-3-4l2.5566-1.5293
+ c0.5286-0.2662,0.4434-0.7045,0.4434-0.9707C10.9999,2.2861,10.6437,2,10.1113,2z M12.252,5C11.2847,5,10.5,5.7827,10.5,6.75
+ s0.7847,1.752,1.752,1.752s1.75-0.7847,1.75-1.752S13.2192,5,12.252,5z M2.5,10L0,11.5V13l2.5-1.5L5,13l2.502-1.5l2.5,1.5L12,11.5
+ l3,1.5v-1.5L12,10l-1.998,1.5l-2.5-1.5L5,11.5L2.5,10z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/teahouse.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/teahouse.svg
new file mode 100644
index 00000000..974ab1a5
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/teahouse.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M11,7c-0.2,1.4-0.5,2.7-1,4c-0.3,0.4-0.6,0.7-1,1v2H6v-2c-0.4-0.3-0.7-0.6-1-1C4.5,9.7,4.2,8.4,4,7H11z M8.1,5.7
+ c1.2-0.3,1.7-0.3,1.8-1.5c0-0.6-0.4-0.8-1.5-1.4C7.5,2.4,7.1,1.8,7.2,1C6.8,1.9,7,3,8,3.5C10,4.5,8.1,5.7,8.1,5.7z M5.8,6
+ c0.7-0.2,1.1-0.2,1.1-0.9c0-0.4-0.3-0.5-0.9-0.9C5.4,4,5.1,3.5,5.2,3C4.9,3.6,5.1,4.3,5.7,4.6C6.9,5.2,5.8,6,5.8,6z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/telephone.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/telephone.svg
new file mode 100644
index 00000000..a7dcf2fc
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/telephone.svg
@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>telephone-15</title>
+ <path d="M4.51,8.88a0.51,0.51,0,0,0,0,.72l0.72,0.72L3.07,12.5,2.7,12.13A2.24,2.24,0,0,1,2,10.69V9.24a2.24,2.24,0,0,1,.7-1.45L7.77,2.72A2.24,2.24,0,0,1,9.22,2h1.45a2.24,2.24,0,0,1,1.45.72l0.36,0.36L10.31,5.26,9.58,4.53a0.51,0.51,0,0,0-.72,0ZM4.13,13.6a1,1,0,0,0,1.4137.0363Q5.5623,13.6186,5.58,13.6l0.72-.72a1,1,0,0,0,.0363-1.4137Q6.3186,11.4477,6.3,11.43Zm7.25-7.28a1,1,0,0,0,1.4137.0363C12.8061,6.3445,13.55,5.6,13.55,5.6a1,1,0,0,0,.0363-1.4137Q13.5686,4.1677,13.55,4.15Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/tennis.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/tennis.svg
new file mode 100644
index 00000000..0217e2a9
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/tennis.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M8,4.5C8,5.3284,7.3284,6,6.5,6S5,5.3284,5,4.5S5.6716,3,6.5,3S8,3.6716,8,4.5z M14.38,5.05L14.38,5.05l-1.57-1.59
+ c0.3629-0.7766,0.1576-1.7002-0.5-2.25c-0.4027-0.4248-0.9552-0.6759-1.54-0.7c-0.338-0.0102-0.6659,0.1159-0.91,0.35
+ c-0.5576,0.7788-0.4034,1.8585,0.35,2.45c0.4027,0.4248,0.9552,0.6759,1.54,0.7c0.2452-0.0035,0.4844-0.0763,0.69-0.21L14,5.39l0,0
+ c0.0399,0.0733,0.1165,0.1193,0.2,0.12c0.1381,0,0.25-0.1119,0.25-0.25C14.4623,5.1828,14.4361,5.1044,14.38,5.05z M12.31,3.3
+ c-0.1524,0.139-0.3541,0.211-0.56,0.2c-0.4422-0.0125-0.8635-0.191-1.18-0.5c-0.5432-0.406-0.694-1.1556-0.35-1.74
+ c0.1406-0.1575,0.339-0.2513,0.55-0.26c0.4682,0.0155,0.9109,0.2171,1.23,0.56C12.5295,1.9775,12.6627,2.7253,12.31,3.3z
+ M12.85,5.64c-0.1945-0.1961-0.511-0.1974-0.7071-0.0029C12.1419,5.6381,12.141,5.639,12.14,5.64L10.79,7h-4.9
+ C5.6621,7.0025,5.4647,7.1587,5.41,7.38l-0.79,3.11l0,0L3.9,13.36c-0.0863,0.2594,0.0518,0.5401,0.31,0.63h0.16
+ c0.2131-0.0016,0.4018-0.1381,0.47-0.34l0.8-3.19H7v3c0,0.2761,0.2239,0.5,0.5,0.5S8,13.7361,8,13.46v-3L9,8h2.21l1.65-1.65
+ c0.1878-0.1971,0.1834-0.5083-0.01-0.7V5.64z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/theatre.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/theatre.svg
new file mode 100644
index 00000000..3cf857a0
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/theatre.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="theatre-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path6342-3" d="M2,1c0,0-1,0-1,1v5.1582C1,8.8885,1.354,11,4.5,11H5V8L2.5,9c0,0,0-2.5,2.5-2.5V5
+ c0-0.7078,0.0868-1.3209,0.5-1.7754C5.8815,2.805,6.5046,1.9674,8.1562,2.7539L9,3.3027V2c0,0,0-1-1-1C7.2922,1,6.0224,2,5,2
+ S2.7865,1,2,1z M3,3c0.5523,0,1,0.4477,1,1S3.5523,5,3,5S2,4.5523,2,4S2.4477,3,3,3z M7,4c0,0-1,0-1,1v5c0,2,1,4,4,4s4-2,4-4V5
+ c0-1-1-1-1-1c-0.7078,0-1.9776,1-3,1S7.7865,4,7,4z M8,6c0.5523,0,1,0.4477,1,1S8.5523,8,8,8S7,7.5523,7,7S7.4477,6,8,6z M12,6
+ c0.5523,0,1,0.4477,1,1s-0.4477,1-1,1s-1-0.4477-1-1S11.4477,6,12,6z M7.5,10H10h2.5c0,0,0,2.5-2.5,2.5S7.5,10,7.5,10z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/toilet.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/toilet.svg
new file mode 100644
index 00000000..b7f306b5
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/toilet.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M4.5,3C3.6716,3,3,2.3284,3,1.5S3.6716,0,4.5,0S6,0.6716,6,1.5S5.3284,3,4.5,3z M14,1.5C14,0.6716,13.3284,0,12.5,0
+ S11,0.6716,11,1.5S11.6716,3,12.5,3S14,2.3284,14,1.5z M8.86,6.64L8.86,6.64L6.38,4.15l0,0C6.2798,4.0492,6.142,3.9949,6,4H3
+ C2.8697,4.0003,2.7445,4.0503,2.65,4.14l0,0L0.14,6.63c-0.2261,0.177-0.2659,0.5039-0.0889,0.73s0.5039,0.2659,0.73,0.0889
+ C0.8142,7.423,0.8441,7.3931,0.87,7.36L3,5.2L1,11h2v3.33c-0.0075,0.0497-0.0075,0.1003,0,0.15
+ c0.0555,0.2761,0.3244,0.455,0.6005,0.3995C3.802,14.839,3.9595,14.6815,4,14.48l0,0V11h1v3.5l0,0
+ c0.0555,0.2761,0.3244,0.455,0.6005,0.3995C5.802,14.859,5.9595,14.7015,6,14.5c0.0075-0.0497,0.0075-0.1003,0-0.15V11h2L6,5.2
+ l2.14,2.16l0,0c0.0967,0.1081,0.2349,0.17,0.38,0.17C8.7954,7.5088,9.0061,7.2761,9,7C9.0023,6.8663,8.9521,6.737,8.86,6.64z
+ M14.5,4h-4C10.2239,4,10,4.2239,10,4.5v5c0,0.2761,0.2239,0.5,0.5,0.5S11,9.7761,11,9.5v5c0,0.2761,0.2239,0.5,0.5,0.5
+ s0.5-0.2239,0.5-0.5v-5h1v5c0,0.2761,0.2239,0.5,0.5,0.5s0.5-0.2239,0.5-0.5v-5c0,0.2761,0.2239,0.5,0.5,0.5S15,9.7761,15,9.5v-5
+ C15,4.2239,14.7761,4,14.5,4z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/town-hall.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/town-hall.svg
new file mode 100644
index 00000000..697b1780
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/town-hall.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="town-hall-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path7509" d="M7.5,0L1,3.4453V4h13V3.4453L7.5,0z M2,5v5l-1,1.5547V13h13v-1.4453L13,10V5H2z M4,6h1v5.5H4V6z M7,6h1v5.5H7
+ V6z M10,6h1v5.5h-1V6z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/town.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/town.svg
new file mode 100644
index 00000000..ff8cb995
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/town.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>town-15</title>
+ <path d="M10.651,7.121a.251.251,0,0,0-.314,0L8.092,8.929A.247.247,0,0,0,8,9.122v4.625A.253.253,0,0,0,8.253,14H9.747A.253.253,0,0,0,10,13.747h0V12h1v1.747a.253.253,0,0,0,.253.253h1.494A.253.253,0,0,0,13,13.747h0V9.12a.25.25,0,0,0-.094-.2ZM10,11H9V10h1Zm2,0H11V10h1ZM5.71,1.815a.252.252,0,0,0-.42,0L2.042,5.936A.252.252,0,0,0,2,6.076v7.671A.252.252,0,0,0,2.251,14h2.5A.252.252,0,0,0,5,13.748V12H6v1.748A.252.252,0,0,0,6.252,14H7V8a.5.5,0,0,1,.188-.391L9,6C9,5.95,5.71,1.815,5.71,1.815ZM4,10H3V9H4ZM4,7H3V6H4Zm2,3H5V9H6ZM6,7H5V6H6Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/triangle-stroked.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/triangle-stroked.svg
new file mode 100644
index 00000000..c87ff1d2
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/triangle-stroked.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="triangle-stroked-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="rect3338" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccc" d="M7.5243,1.5004
+ C7.2429,1.4913,6.9787,1.6423,6.8336,1.8952l-5.5,9.8692C1.0218,12.3078,1.395,12.9999,2,13h11
+ c0.605-0.0001,0.9782-0.6922,0.6664-1.2355l-5.5-9.8692C8.0302,1.6579,7.7884,1.5092,7.5243,1.5004z M7.5,3.8993l4.1267,7.4704
+ H3.3733L7.5,3.8993z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/triangle.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/triangle.svg
new file mode 100644
index 00000000..75ffea85
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/triangle.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="triangle-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path21090-9" inkscape:connector-curvature="0" sodipodi:nodetypes="sscsssscss" d="M7.5385,2
+ C7.2437,2,7.0502,2.1772,6.9231,2.3846l-5.8462,9.5385C1,12,1,12.1538,1,12.3077C1,12.8462,1.3846,13,1.6923,13h11.6154
+ C13.6923,13,14,12.8462,14,12.3077c0-0.1538,0-0.2308-0.0769-0.3846L8.1538,2.3846C8.028,2.1765,7.7882,2,7.5385,2z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/veterinary.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/veterinary.svg
new file mode 100644
index 00000000..1a34459f
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/veterinary.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path3340" d="M7.5,6c-2.5,0-3,2.28-3,3.47l0,0c-0.6097,0.2059-1.1834,0.5062-1.7,0.89
+ c-0.871,0.6614-1.0492,1.8998-0.4,2.78c0.6799,0.8542,1.9081,1.0297,2.8,0.4c0.6779-0.4601,1.4808-0.701,2.3-0.69
+ c0.8192-0.011,1.6221,0.2299,2.3,0.69c0.8575,0.6854,2.1072,0.5515,2.8-0.3c0.6888-0.8134,0.5878-2.0313-0.2256-2.7201
+ c-0.0243-0.0206-0.0491-0.0406-0.0744-0.0599l-0.1-0.1c-0.5333-0.3564-1.1032-0.6548-1.7-0.89l0,0C10.5,8.29,10,6,7.5,6z"/>
+<path id="ellipse4153" d="M2.08,4.3c-0.7348,0.3676-1.0652,1.2371-0.76,2c0.064,0.8282,0.7809,1.4517,1.61,1.4
+ c0.7348-0.3676,1.0652-1.2371,0.76-2C3.626,4.8718,2.9091,4.2483,2.08,4.3z"/>
+<path id="ellipse4163" d="M12.93,4.3c0.7348,0.3676,1.0653,1.2371,0.76,2c-0.064,0.8282-0.7809,1.4517-1.61,1.4
+ c-0.7348-0.3676-1.0653-1.2371-0.76-2C11.384,4.8718,12.1009,4.2483,12.93,4.3z"/>
+<path id="ellipse4165" d="M5.08,1.3c-0.68,0.09-1,0.94-0.76,1.87C4.4301,3.9951,5.1003,4.6321,5.93,4.7c0.68-0.09,1-0.94,0.76-1.87
+ C6.5799,2.0049,5.9097,1.3679,5.08,1.3z"/>
+<path id="ellipse4167" d="M9.93,1.3c0.68,0.09,1,0.94,0.76,1.87C10.5791,3.9986,9.9036,4.6365,9.07,4.7c-0.68-0.08-1-0.94-0.76-1.87
+ C8.4209,2.0014,9.0964,1.3634,9.93,1.3z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/village.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/village.svg
new file mode 100644
index 00000000..b06d0f03
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/village.svg
@@ -0,0 +1,4 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15">
+ <title>village-15</title>
+ <path d="M6.176,4.176a.249.249,0,0,0-.352,0l-4.4,4.4A.25.25,0,0,0,1.6,9H3v4.751A.249.249,0,0,0,3.249,14h3.5A.249.249,0,0,0,7,13.753H7V8.323a.249.249,0,0,1,.073-.176L8.5,6.5ZM6,12H5V11H6Zm0-2H5V9H6Zm6.75-4h-.5a.25.25,0,0,0-.25.25V8L10.676,6.176a.249.249,0,0,0-.352,0L8.056,8.932A.246.246,0,0,0,8,9.088v4.66A.249.249,0,0,0,8.246,14h1.5A.253.253,0,0,0,10,13.748h0V12h1v1.747a.253.253,0,0,0,.253.253h1.5A.25.25,0,0,0,13,13.751V6.25A.25.25,0,0,0,12.75,6ZM10,11H9V10h1Zm2,0H11V10h1Z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/volcano.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/volcano.svg
new file mode 100644
index 00000000..e196f696
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/volcano.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91 r13725" sodipodi:docname="volcano-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path6447" inkscape:connector-curvature="0" style="fill:#010101;" d="M8.4844,1.0002
+ c-0.1464,0.005-0.2835,0.0731-0.375,0.1875L6.4492,3.2619L4.8438,1.7385C4.4079,1.3374,3.7599,1.893,4.0899,2.385l1.666,2.4004
+ C5.9472,5.061,6.3503,5.0737,6.5586,4.8108C6.7249,4.6009,7,4.133,7.5,4.133s0.7929,0.4907,0.9414,0.6777
+ c0.175,0.2204,0.4973,0.2531,0.7129,0.0723l1.668-1.4004c0.4408-0.3741,0.0006-1.0735-0.5273-0.8379L9,3.2268V1.5002
+ C9.0002,1.2179,8.7666,0.9915,8.4844,1.0002L8.4844,1.0002z M5,6.0002L2.0762,11.924C1.9993,12.0009,2,12.155,2,12.3088
+ c0,0.5385,0.3837,0.6914,0.6914,0.6914h9.6172c0.3846,0,0.6914-0.153,0.6914-0.6914c0-0.1538,0.0008-0.2309-0.0762-0.3848L10,6.0002
+ c-0.5,0-1,0.5-1,1v0.5c0,0.277-0.223,0.5-0.5,0.5S8,7.7772,8,7.5002v-0.5c0-0.2761-0.2238-0.5-0.5-0.5S7,6.7241,7,7.0002v2
+ c0,0.277-0.223,0.5-0.5,0.5S6,9.2772,6,9.0002v-2C6,6.5002,5.5,6.0002,5,6.0002z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/warehouse.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/warehouse.svg
new file mode 100644
index 00000000..89d7794c
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/warehouse.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M13.5,5c-0.0762,0.0003-0.1514-0.0168-0.22-0.05L7.5,2L1.72,4.93C1.4632,5.0515,1.1565,4.9418,1.035,4.685
+ S1.0232,4.1215,1.28,4L7.5,0.92L13.72,4c0.2761,0.0608,0.4508,0.3339,0.39,0.61C14.0492,4.8861,13.7761,5.0608,13.5,5z M5,10H2v3h3
+ V10z M9,10H6v3h3V10z M13,10h-3v3h3V10z M11,6H8v3h3V6z M7,6H4v3h3V6z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/waste-basket.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/waste-basket.svg
new file mode 100644
index 00000000..f128ef15
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/waste-basket.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M12.41,5.58l-1.34,8c-0.0433,0.2368-0.2493,0.4091-0.49,0.41H4.42c-0.2407-0.0009-0.4467-0.1732-0.49-0.41l-1.34-8
+ C2.5458,5.3074,2.731,5.0506,3.0035,5.0064C3.0288,5.0023,3.0544,5.0002,3.08,5h8.83c0.2761-0.0036,0.5028,0.2174,0.5064,0.4935
+ C12.4168,5.5225,12.4146,5.5514,12.41,5.58z M13,3.5C13,3.7761,12.7761,4,12.5,4h-10C2.2239,4,2,3.7761,2,3.5S2.2239,3,2.5,3H5V1.5
+ C5,1.2239,5.2239,1,5.5,1h4C9.7761,1,10,1.2239,10,1.5V3h2.5C12.7761,3,13,3.2239,13,3.5z M9,3V2H6v1H9z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/water.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/water.svg
new file mode 100644
index 00000000..0fb64f85
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/water.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M7.49,15C4.5288,14.827,2.1676,12.4615,2,9.5C2,6.6,6.25,1.66,7.49,0c1.24,1.66,5,6.59,5,9.49S10.17,15,7.49,15z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/wetland.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/wetland.svg
new file mode 100644
index 00000000..5acc2148
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/wetland.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M1.48,4.5C1.905,4.1467,2.4483,3.968,3,4c1.2273-0.0869,2.3154,0.7836,2.5,2l0.78,4.68c-0.6394-0.2893-1.3759-0.2709-2,0.05
+ L3.48,6C3.1874,5.1347,2.3926,4.5387,1.48,4.5z M7.48,11.24c0.3816-0.3076,0.825-0.5293,1.3-0.65L10,3
+ c0.2926-0.8653,1.0874-1.4613,2-1.5c-0.4198-0.3485-0.955-0.5269-1.5-0.5C9.2727,0.9131,8.1846,1.7836,8,3l-1.3,7.79
+ C6.9786,10.9052,7.2408,11.0565,7.48,11.24z M11.8,10.74L11.8,10.74c0.1565-0.1277,0.3238-0.2414,0.5-0.34L13,6
+ c0.2926-0.8653,1.0874-1.4613,2-1.5c-0.4198-0.3485-0.955-0.5269-1.5-0.5c-1.2273-0.0869-2.3154,0.7836-2.5,2l-0.67,4
+ C10.8731,10.123,11.3778,10.377,11.8,10.74z M14,12L14,12c-0.4346-0.01-0.8579,0.1394-1.19,0.42l-0.47,0.41
+ c-0.2847,0.2546-0.7153,0.2546-1,0c-0.15-0.12-0.29-0.26-0.44-0.39c-0.7076-0.5968-1.7424-0.5968-2.45,0
+ c-0.16,0.13-0.31,0.28-0.47,0.41c-0.2847,0.2546-0.7153,0.2546-1,0c-0.16-0.13-0.31-0.28-0.47-0.41
+ c-0.7059-0.5912-1.7341-0.5912-2.44,0c-0.15,0.13-0.29,0.27-0.44,0.39c-0.0892,0.0715-0.1909,0.1258-0.3,0.16
+ c-0.2922,0.0652-0.5969-0.0301-0.8-0.25c-0.2475-0.214-0.5117-0.4079-0.79-0.58C1.5336,12.0421,1.2974,11.9865,1.06,12H1
+ c-0.2761,0-0.5,0.2239-0.5,0.5S0.7239,13,1,13l0,0c0.246,0.0145,0.4762,0.126,0.64,0.31L2,13.57
+ c0.6717,0.55,1.6308,0.5747,2.33,0.06c0.19-0.14,0.36-0.32,0.55-0.47c0.2847-0.2546,0.7153-0.2546,1,0l0.39,0.35
+ c0.6937,0.6189,1.7322,0.6484,2.46,0.07c0.15-0.11,0.27-0.25,0.42-0.37c0.2976-0.3038,0.7851-0.3087,1.0889-0.0111
+ c0.0037,0.0037,0.0074,0.0074,0.0111,0.0111l0.39,0.35c0.4866,0.4124,1.1485,0.5516,1.76,0.37c0.3825-0.1036,0.7286-0.3113,1-0.6
+ c0.1549-0.1772,0.3674-0.294,0.6-0.33l0,0c0.2761,0,0.5-0.2239,0.5-0.5S14.2761,12,14,12z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/wheelchair.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/wheelchair.svg
new file mode 100644
index 00000000..3236ea5a
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/wheelchair.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="15px" height="15px" viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path d="M12,1.5C12,2.3284,11.3284,3,10.5,3S9,2.3284,9,1.5S9.6716,0,10.5,0S12,0.6716,12,1.5z M2.82,4.87l1.74-1.71l1.85,1.29
+ L5.67,5.7c1.0747,0.3341,2.0207,0.9904,2.71,1.88l0.88-1.5c0.2295-0.4158,0.0785-0.939-0.3373-1.1685
+ C8.9218,4.911,8.9209,4.9105,8.92,4.91L8.3,4.54L4.79,2.1C4.5927,1.9594,4.3231,1.9805,4.15,2.15l-2,2
+ C1.9852,4.3716,2.0312,4.6848,2.2528,4.8496C2.4193,4.9735,2.645,4.9816,2.82,4.87z M8.13,10.94
+ c-0.0143,1.2308-0.5794,2.3904-1.54,3.16c-0.7118,0.5804-1.6016,0.8982-2.52,0.9C1.8261,15,0.0055,13.1839,0,10.94
+ c0.0023-0.9231,0.3238-1.8169,0.91-2.53c0.1868-0.232,0.398-0.4432,0.63-0.63c0.7131-0.5862,1.6069-0.9077,2.53-0.91
+ C6.3139,6.8755,8.13,8.6961,8.13,10.94z M6,12.21C6.7679,11.2051,6.5758,9.7679,5.5709,9C4.7501,8.3727,3.6109,8.3727,2.79,9
+ C2.5283,9.151,2.311,9.3683,2.16,9.63c-0.6923,1.0584-0.3956,2.4777,0.6628,3.17c0.7615,0.4981,1.7457,0.4981,2.5072,0
+ C5.5805,12.6365,5.8061,12.4378,6,12.21z M14.2,13.21l-2.49-5C11.5906,7.9251,11.3088,7.7425,11,7.75H8.51
+ c0.3293,0.4578,0.5856,0.9638,0.76,1.5h1.26l2.29,4.58c0.185,0.3728,0.6372,0.525,1.01,0.34c0.3728-0.185,0.525-0.6372,0.34-1.01
+ L14.2,13.21z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/maki-4.0.0/zoo.svg b/src/plugins/geoservices/mapbox/maki-4.0.0/zoo.svg
new file mode 100644
index 00000000..975cc853
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/maki-4.0.0/zoo.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg4619" inkscape:version="0.91+devel+osxmenu r12911" sodipodi:docname="zoo-15.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
+ viewBox="0 0 15 15" style="enable-background:new 0 0 15 15;" xml:space="preserve">
+<path id="path17499" inkscape:connector-curvature="0" sodipodi:nodetypes="sssssscsccccsccscccscscccscsscccsscsss" d="
+ M8.3879,3.8928C8.3879,3.8928,7.6818,5,7,5H4.5C3.8182,5,3.2016,5.4086,2.7273,5.8636L0.5,8C0.231,8.258,0.0072,8.7681,0,9
+ c-0.0156,0.5,0,1,0,1s1,0,1-1V8.5l1-1h0.5l0.158,0.2892c0,0-0.9535,1.8244-0.9535,3.5289C1.7046,12,2.3864,12,2.3864,12h0.6818
+ c0,0,0.3409,0,0-0.3409l-0.3409-0.3409C2.7273,10.6364,3.5002,9.6667,4,9c0,0,0.0168,1.1579,0,2c-0.008,0.4096,0.2721,1,0.6818,1
+ h0.6818c0,0,0.3409,0,0-0.3409l-0.3409-0.3409C4.7105,10.7495,5.5,8.5,5.5,8.5C6.7716,8.5,7,9,8.5,9l0.3636,2.3182
+ C8.975,12.0282,9.5,12,9.5,12H11c0.3409,0,0.9611-0.3115,0.3409-0.7736L11,11V9c1.2142-0.1722,2-1,2-2h1c0.3214,0,1,0,1-0.5v-1
+ l-1.7045-1.6818C12.5444,3.0772,12,2.5,11,2.5C9.5469,2.5,8.8636,3.0688,8.3879,3.8928z"/>
+</svg>
diff --git a/src/plugins/geoservices/mapbox/mapbox.pro b/src/plugins/geoservices/mapbox/mapbox.pro
index ea011131..e017b798 100644
--- a/src/plugins/geoservices/mapbox/mapbox.pro
+++ b/src/plugins/geoservices/mapbox/mapbox.pro
@@ -9,7 +9,12 @@ HEADERS += \
qgeomapreplymapbox.h \
qgeofiletilecachemapbox.h \
qgeoroutingmanagerenginemapbox.h \
- qgeoroutereplymapbox.h
+ qgeoroutereplymapbox.h \
+ qplacecategoriesreplymapbox.h \
+ qplacemanagerenginemapbox.h \
+ qplacesearchsuggestionreplymapbox.h \
+ qplacesearchreplymapbox.h \
+ qmapboxcommon.h
SOURCES += \
qgeoserviceproviderpluginmapbox.cpp \
@@ -18,7 +23,14 @@ SOURCES += \
qgeomapreplymapbox.cpp \
qgeofiletilecachemapbox.cpp \
qgeoroutingmanagerenginemapbox.cpp \
- qgeoroutereplymapbox.cpp
+ qgeoroutereplymapbox.cpp \
+ qplacecategoriesreplymapbox.cpp \
+ qplacemanagerenginemapbox.cpp \
+ qplacesearchsuggestionreplymapbox.cpp \
+ qplacesearchreplymapbox.cpp \
+ qmapboxcommon.cpp
+
+RESOURCES += mapbox.qrc
OTHER_FILES += \
mapbox_plugin.json
diff --git a/src/plugins/geoservices/mapbox/mapbox.qrc b/src/plugins/geoservices/mapbox/mapbox.qrc
new file mode 100644
index 00000000..217e27a0
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/mapbox.qrc
@@ -0,0 +1,150 @@
+<RCC>
+ <qresource prefix="/mapbox">
+ <file alias="aerialway.svg">maki-4.0.0/aerialway.svg</file>
+ <file alias="airfield.svg">maki-4.0.0/airfield.svg</file>
+ <file alias="airport.svg">maki-4.0.0/airport.svg</file>
+ <file alias="alcohol-shop">maki-4.0.0/alcohol-shop.svg</file>
+ <file alias="america-football">maki-4.0.0/america-football.svg</file>
+ <file alias="amusement-park">maki-4.0.0/amusement-park.svg</file>
+ <file alias="aquarium.svg">maki-4.0.0/aquarium.svg</file>
+ <file alias="art-gallery">maki-4.0.0/art-gallery.svg</file>
+ <file alias="attraction.svg">maki-4.0.0/attraction.svg</file>
+ <file alias="bakery.svg">maki-4.0.0/bakery.svg</file>
+ <file alias="bank.svg">maki-4.0.0/bank.svg</file>
+ <file alias="barrier.svg">maki-4.0.0/barrier.svg</file>
+ <file alias="bar.svg">maki-4.0.0/bar.svg</file>
+ <file alias="baseball.svg">maki-4.0.0/baseball.svg</file>
+ <file alias="basketball.svg">maki-4.0.0/basketball.svg</file>
+ <file alias="bbq.svg">maki-4.0.0/bbq.svg</file>
+ <file alias="beer.svg">maki-4.0.0/beer.svg</file>
+ <file alias="bicycle-share">maki-4.0.0/bicycle-share.svg</file>
+ <file alias="bicycle.svg">maki-4.0.0/bicycle.svg</file>
+ <file alias="blood-bank">maki-4.0.0/blood-bank.svg</file>
+ <file alias="buddhism.svg">maki-4.0.0/buddhism.svg</file>
+ <file alias="building-alt1">maki-4.0.0/building-alt1.svg</file>
+ <file alias="building.svg">maki-4.0.0/building.svg</file>
+ <file alias="bus.svg">maki-4.0.0/bus.svg</file>
+ <file alias="cafe.svg">maki-4.0.0/cafe.svg</file>
+ <file alias="campsite.svg">maki-4.0.0/campsite.svg</file>
+ <file alias="car.svg">maki-4.0.0/car.svg</file>
+ <file alias="castle.svg">maki-4.0.0/castle.svg</file>
+ <file alias="cemetery.svg">maki-4.0.0/cemetery.svg</file>
+ <file alias="cinema.svg">maki-4.0.0/cinema.svg</file>
+ <file alias="circle-stroked">maki-4.0.0/circle-stroked.svg</file>
+ <file alias="circle.svg">maki-4.0.0/circle.svg</file>
+ <file alias="city.svg">maki-4.0.0/city.svg</file>
+ <file alias="clothing-store">maki-4.0.0/clothing-store.svg</file>
+ <file alias="college.svg">maki-4.0.0/college.svg</file>
+ <file alias="commercial.svg">maki-4.0.0/commercial.svg</file>
+ <file alias="cricket.svg">maki-4.0.0/cricket.svg</file>
+ <file alias="cross.svg">maki-4.0.0/cross.svg</file>
+ <file alias="dam.svg">maki-4.0.0/dam.svg</file>
+ <file alias="danger.svg">maki-4.0.0/danger.svg</file>
+ <file alias="defibrillator.svg">maki-4.0.0/defibrillator.svg</file>
+ <file alias="dentist.svg">maki-4.0.0/dentist.svg</file>
+ <file alias="doctor.svg">maki-4.0.0/doctor.svg</file>
+ <file alias="dog-park">maki-4.0.0/dog-park.svg</file>
+ <file alias="drinking-water">maki-4.0.0/drinking-water.svg</file>
+ <file alias="embassy.svg">maki-4.0.0/embassy.svg</file>
+ <file alias="emergency-phone">maki-4.0.0/emergency-phone.svg</file>
+ <file alias="entrance-alt1">maki-4.0.0/entrance-alt1.svg</file>
+ <file alias="entrance.svg">maki-4.0.0/entrance.svg</file>
+ <file alias="farm.svg">maki-4.0.0/farm.svg</file>
+ <file alias="fast-food">maki-4.0.0/fast-food.svg</file>
+ <file alias="fence.svg">maki-4.0.0/fence.svg</file>
+ <file alias="ferry.svg">maki-4.0.0/ferry.svg</file>
+ <file alias="fire-station">maki-4.0.0/fire-station.svg</file>
+ <file alias="florist.svg">maki-4.0.0/florist.svg</file>
+ <file alias="fuel.svg">maki-4.0.0/fuel.svg</file>
+ <file alias="gaming.svg">maki-4.0.0/gaming.svg</file>
+ <file alias="garden-center">maki-4.0.0/garden-center.svg</file>
+ <file alias="garden.svg">maki-4.0.0/garden.svg</file>
+ <file alias="gift.svg">maki-4.0.0/gift.svg</file>
+ <file alias="golf.svg">maki-4.0.0/golf.svg</file>
+ <file alias="grocery.svg">maki-4.0.0/grocery.svg</file>
+ <file alias="hairdresser.svg">maki-4.0.0/hairdresser.svg</file>
+ <file alias="harbor.svg">maki-4.0.0/harbor.svg</file>
+ <file alias="heart.svg">maki-4.0.0/heart.svg</file>
+ <file alias="heliport.svg">maki-4.0.0/heliport.svg</file>
+ <file alias="home.svg">maki-4.0.0/home.svg</file>
+ <file alias="horse-riding">maki-4.0.0/horse-riding.svg</file>
+ <file alias="hospital.svg">maki-4.0.0/hospital.svg</file>
+ <file alias="ice-cream">maki-4.0.0/ice-cream.svg</file>
+ <file alias="industry.svg">maki-4.0.0/industry.svg</file>
+ <file alias="information.svg">maki-4.0.0/information.svg</file>
+ <file alias="karaoke.svg">maki-4.0.0/karaoke.svg</file>
+ <file alias="landmark.svg">maki-4.0.0/landmark.svg</file>
+ <file alias="landuse.svg">maki-4.0.0/landuse.svg</file>
+ <file alias="laundry.svg">maki-4.0.0/laundry.svg</file>
+ <file alias="library.svg">maki-4.0.0/library.svg</file>
+ <file alias="lighthouse.svg">maki-4.0.0/lighthouse.svg</file>
+ <file alias="lodging.svg">maki-4.0.0/lodging.svg</file>
+ <file alias="logging.svg">maki-4.0.0/logging.svg</file>
+ <file alias="marker-stroked">maki-4.0.0/marker-stroked.svg</file>
+ <file alias="marker.svg">maki-4.0.0/marker.svg</file>
+ <file alias="mobile-phone">maki-4.0.0/mobile-phone.svg</file>
+ <file alias="monument.svg">maki-4.0.0/monument.svg</file>
+ <file alias="mountain.svg">maki-4.0.0/mountain.svg</file>
+ <file alias="museum.svg">maki-4.0.0/museum.svg</file>
+ <file alias="music.svg">maki-4.0.0/music.svg</file>
+ <file alias="natural.svg">maki-4.0.0/natural.svg</file>
+ <file alias="park-alt1">maki-4.0.0/park-alt1.svg</file>
+ <file alias="parking-garage">maki-4.0.0/parking-garage.svg</file>
+ <file alias="parking.svg">maki-4.0.0/parking.svg</file>
+ <file alias="park.svg">maki-4.0.0/park.svg</file>
+ <file alias="pharmacy.svg">maki-4.0.0/pharmacy.svg</file>
+ <file alias="picnic-site">maki-4.0.0/picnic-site.svg</file>
+ <file alias="pitch.svg">maki-4.0.0/pitch.svg</file>
+ <file alias="place-of">maki-4.0.0/place-of-worship.svg</file>
+ <file alias="playground.svg">maki-4.0.0/playground.svg</file>
+ <file alias="police.svg">maki-4.0.0/police.svg</file>
+ <file alias="post.svg">maki-4.0.0/post.svg</file>
+ <file alias="prison.svg">maki-4.0.0/prison.svg</file>
+ <file alias="rail-light">maki-4.0.0/rail-light.svg</file>
+ <file alias="rail-metro">maki-4.0.0/rail-metro.svg</file>
+ <file alias="rail.svg">maki-4.0.0/rail.svg</file>
+ <file alias="ranger-station">maki-4.0.0/ranger-station.svg</file>
+ <file alias="recycling.svg">maki-4.0.0/recycling.svg</file>
+ <file alias="religious-christian">maki-4.0.0/religious-christian.svg</file>
+ <file alias="religious-jewish">maki-4.0.0/religious-jewish.svg</file>
+ <file alias="religious-muslim">maki-4.0.0/religious-muslim.svg</file>
+ <file alias="residential-community">maki-4.0.0/residential-community.svg</file>
+ <file alias="restaurant.svg">maki-4.0.0/restaurant.svg</file>
+ <file alias="roadblock.svg">maki-4.0.0/roadblock.svg</file>
+ <file alias="rocket.svg">maki-4.0.0/rocket.svg</file>
+ <file alias="school.svg">maki-4.0.0/school.svg</file>
+ <file alias="scooter.svg">maki-4.0.0/scooter.svg</file>
+ <file alias="shelter.svg">maki-4.0.0/shelter.svg</file>
+ <file alias="shop.svg">maki-4.0.0/shop.svg</file>
+ <file alias="skiing.svg">maki-4.0.0/skiing.svg</file>
+ <file alias="slaughterhouse.svg">maki-4.0.0/slaughterhouse.svg</file>
+ <file alias="snowmobile.svg">maki-4.0.0/snowmobile.svg</file>
+ <file alias="soccer.svg">maki-4.0.0/soccer.svg</file>
+ <file alias="square-stroked">maki-4.0.0/square-stroked.svg</file>
+ <file alias="square.svg">maki-4.0.0/square.svg</file>
+ <file alias="stadium.svg">maki-4.0.0/stadium.svg</file>
+ <file alias="star-stroked">maki-4.0.0/star-stroked.svg</file>
+ <file alias="star.svg">maki-4.0.0/star.svg</file>
+ <file alias="suitcase.svg">maki-4.0.0/suitcase.svg</file>
+ <file alias="sushi.svg">maki-4.0.0/sushi.svg</file>
+ <file alias="swimming.svg">maki-4.0.0/swimming.svg</file>
+ <file alias="teahouse.svg">maki-4.0.0/teahouse.svg</file>
+ <file alias="telephone.svg">maki-4.0.0/telephone.svg</file>
+ <file alias="tennis.svg">maki-4.0.0/tennis.svg</file>
+ <file alias="theatre.svg">maki-4.0.0/theatre.svg</file>
+ <file alias="toilet.svg">maki-4.0.0/toilet.svg</file>
+ <file alias="town-hall">maki-4.0.0/town-hall.svg</file>
+ <file alias="town.svg">maki-4.0.0/town.svg</file>
+ <file alias="triangle-stroked">maki-4.0.0/triangle-stroked.svg</file>
+ <file alias="triangle.svg">maki-4.0.0/triangle.svg</file>
+ <file alias="veterinary.svg">maki-4.0.0/veterinary.svg</file>
+ <file alias="village.svg">maki-4.0.0/village.svg</file>
+ <file alias="volcano.svg">maki-4.0.0/volcano.svg</file>
+ <file alias="warehouse.svg">maki-4.0.0/warehouse.svg</file>
+ <file alias="waste-basket">maki-4.0.0/waste-basket.svg</file>
+ <file alias="water.svg">maki-4.0.0/water.svg</file>
+ <file alias="wetland.svg">maki-4.0.0/wetland.svg</file>
+ <file alias="wheelchair.svg">maki-4.0.0/wheelchair.svg</file>
+ <file alias="zoo.svg">maki-4.0.0/zoo.svg</file>
+ </qresource>
+</RCC>
diff --git a/src/plugins/geoservices/mapbox/mapbox_plugin.json b/src/plugins/geoservices/mapbox/mapbox_plugin.json
index f886458f..a8affe4c 100644
--- a/src/plugins/geoservices/mapbox/mapbox_plugin.json
+++ b/src/plugins/geoservices/mapbox/mapbox_plugin.json
@@ -5,6 +5,10 @@
"Experimental": false,
"Features": [
"OnlineMappingFeature",
- "OnlineRoutingFeature"
+ "OnlineRoutingFeature",
+ "OnlinePlacesFeature",
+ "PlaceRecommendationsFeature",
+ "SearchSuggestionsFeature",
+ "LocalizedPlacesFeature"
]
}
diff --git a/src/plugins/geoservices/mapbox/qgeoroutingmanagerenginemapbox.cpp b/src/plugins/geoservices/mapbox/qgeoroutingmanagerenginemapbox.cpp
index 78ccab8c..1b7cc1b3 100644
--- a/src/plugins/geoservices/mapbox/qgeoroutingmanagerenginemapbox.cpp
+++ b/src/plugins/geoservices/mapbox/qgeoroutingmanagerenginemapbox.cpp
@@ -40,6 +40,7 @@
#include "qgeoroutingmanagerenginemapbox.h"
#include "qgeoroutereplymapbox.h"
+#include "qmapboxcommon.h"
#include <QtCore/QUrlQuery>
#include <QtCore/QDebug>
@@ -51,7 +52,7 @@ QGeoRoutingManagerEngineMapbox::QGeoRoutingManagerEngineMapbox(const QVariantMap
QString *errorString)
: QGeoRoutingManagerEngine(parameters),
m_networkManager(new QNetworkAccessManager(this)),
- m_userAgent("Qt Location based application")
+ m_userAgent(mapboxDefaultUserAgent)
{
if (parameters.contains(QStringLiteral("mapbox.useragent"))) {
m_userAgent = parameters.value(QStringLiteral("mapbox.useragent")).toString().toLatin1();
@@ -74,29 +75,29 @@ QGeoRouteReply* QGeoRoutingManagerEngineMapbox::calculateRoute(const QGeoRouteRe
QNetworkRequest networkRequest;
networkRequest.setRawHeader("User-Agent", m_userAgent);
- QString url("https://api.mapbox.com/directions/v5/mapbox/");
+ QString url = mapboxDirectionsApiPath;
QGeoRouteRequest::TravelModes travelModes = request.travelModes();
if (travelModes.testFlag(QGeoRouteRequest::PedestrianTravel)) {
- url += "walking/";
+ url += QStringLiteral("walking/");
} else if (travelModes.testFlag(QGeoRouteRequest::BicycleTravel)) {
- url += "cycling/";
+ url += QStringLiteral("cycling/");
} else if (travelModes.testFlag(QGeoRouteRequest::CarTravel)) {
const QList<QGeoRouteRequest::FeatureType> &featureTypes = request.featureTypes();
int trafficFeatureIdx = featureTypes.indexOf(QGeoRouteRequest::TrafficFeature);
QGeoRouteRequest::FeatureWeight trafficWeight = request.featureWeight(QGeoRouteRequest::TrafficFeature);
if (trafficFeatureIdx >= 0 &&
(trafficWeight == QGeoRouteRequest::AvoidFeatureWeight || trafficWeight == QGeoRouteRequest::DisallowFeatureWeight)) {
- url += "driving-traffic/";
+ url += QStringLiteral("driving-traffic/");
} else {
- url += "driving/";
+ url += QStringLiteral("driving/");
}
}
foreach (const QGeoCoordinate &c, request.waypoints()) {
url += QString("%1,%2;").arg(c.longitude()).arg(c.latitude());
}
- if (url.right(1) == ";")
+ if (url.right(1) == QLatin1Char(';'))
url.chop(1);
QUrlQuery query;
diff --git a/src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp b/src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp
index 835f9d04..ff98c501 100644
--- a/src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp
+++ b/src/plugins/geoservices/mapbox/qgeoserviceproviderpluginmapbox.cpp
@@ -37,6 +37,7 @@
#include "qgeoserviceproviderpluginmapbox.h"
#include "qgeotiledmappingmanagerenginemapbox.h"
#include "qgeoroutingmanagerenginemapbox.h"
+#include "qplacemanagerenginemapbox.h"
#include <QtLocation/private/qgeotiledmappingmanagerengine_p.h>
@@ -89,11 +90,15 @@ QGeoRoutingManagerEngine *QGeoServiceProviderFactoryMapbox::createRoutingManager
QPlaceManagerEngine *QGeoServiceProviderFactoryMapbox::createPlaceManagerEngine(
const QVariantMap &parameters, QGeoServiceProvider::Error *error, QString *errorString) const
{
- Q_UNUSED(parameters)
- Q_UNUSED(error)
- Q_UNUSED(errorString)
+ const QString accessToken = parameters.value(QStringLiteral("mapbox.access_token")).toString();
- return 0;
+ if (!accessToken.isEmpty()) {
+ return new QPlaceManagerEngineMapbox(parameters, error, errorString);
+ } else {
+ *error = QGeoServiceProvider::MissingRequiredParameterError;
+ *errorString = msgAccessTokenParameter();
+ return 0;
+ }
}
QT_END_NAMESPACE
diff --git a/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp b/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp
index 74971692..0b128556 100644
--- a/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp
+++ b/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp
@@ -36,6 +36,7 @@
#include "qgeotilefetchermapbox.h"
#include "qgeomapreplymapbox.h"
+#include "qmapboxcommon.h"
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkRequest>
@@ -46,7 +47,7 @@ QT_BEGIN_NAMESPACE
QGeoTileFetcherMapbox::QGeoTileFetcherMapbox(int scaleFactor, QGeoTiledMappingManagerEngine *parent)
: QGeoTileFetcher(parent), m_networkManager(new QNetworkAccessManager(this)),
- m_userAgent("Qt Location based application"),
+ m_userAgent(mapboxDefaultUserAgent),
m_format("png"),
m_replyFormat("png"),
m_accessToken("")
@@ -86,7 +87,7 @@ QGeoTiledMapReply *QGeoTileFetcherMapbox::getTileImage(const QGeoTileSpec &spec)
QNetworkRequest request;
request.setRawHeader("User-Agent", m_userAgent);
- request.setUrl(QUrl(QStringLiteral("http://api.tiles.mapbox.com/v4/") +
+ request.setUrl(QUrl(mapboxTilesApiPath +
((spec.mapId() >= m_mapIds.size()) ? QStringLiteral("mapbox.streets") : m_mapIds[spec.mapId() - 1]) + QLatin1Char('/') +
QString::number(spec.zoom()) + QLatin1Char('/') +
QString::number(spec.x()) + QLatin1Char('/') +
diff --git a/src/plugins/geoservices/mapbox/qmapboxcommon.cpp b/src/plugins/geoservices/mapbox/qmapboxcommon.cpp
new file mode 100644
index 00000000..b88e8f5c
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/qmapboxcommon.cpp
@@ -0,0 +1,140 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 Mapbox, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtLocation module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qmapboxcommon.h"
+
+#include <QtCore/QJsonArray>
+#include <QtPositioning/QGeoAddress>
+#include <QtPositioning/QGeoCoordinate>
+#include <QtPositioning/QGeoRectangle>
+
+QString QMapboxCommon::mapboxNameForCategory(const QString &category)
+{
+ if (category.isEmpty())
+ return category;
+
+ QString categoryName = category;
+ categoryName[0] = categoryName[0].toUpper();
+ return categoryName;
+}
+
+// https://www.mapbox.com/api-documentation/#response-object
+QGeoLocation QMapboxCommon::parseGeoLocation(const QJsonObject &response)
+{
+ QGeoLocation location;
+
+ QGeoAddress address;
+
+ QString streetAddress = response.value(QStringLiteral("address")).toString();
+
+ // If place type is 'address', the street address is a combo of 'text' and
+ // 'address'. The former provides the street name, and the latter provides
+ // the street number in that case.
+ if (response.value(QStringLiteral("place_type")).isArray()) {
+ foreach (const QJsonValue &value, response.value(QStringLiteral("place_type")).toArray()) {
+ if (!value.isString())
+ continue;
+ if (value.toString() == QStringLiteral("address")) {
+ streetAddress.prepend(response.value(QStringLiteral("text")).toString() + QLatin1Char(' '));
+ break;
+ }
+ }
+ }
+
+ if (response.value(QStringLiteral("properties")).isObject()) {
+ const QJsonObject properties = response.value(QStringLiteral("properties")).toObject();
+
+ // Prefer properties.address over address.
+ const QString addressString = properties.value(QStringLiteral("address")).toString();
+ if (!addressString.isEmpty())
+ streetAddress = addressString;
+ }
+
+ address.setStreet(streetAddress);
+
+ if (response.value(QStringLiteral("context")).isArray()) {
+ foreach (const QJsonValue &value, response.value(QStringLiteral("context")).toArray()) {
+ if (!value.isObject())
+ continue;
+
+ const QJsonObject object = value.toObject();
+ const QString valueId = object.value(QStringLiteral("id")).toString();
+ const QString valueText = object.value(QStringLiteral("text")).toString();
+
+ if (valueId.isEmpty() || valueText.isEmpty())
+ continue;
+
+ // XXX: locality, neighborhood, address, poi, poi.landmark
+ if (valueId.startsWith(QStringLiteral("country"))) {
+ address.setCountry(valueText);
+ const QString countryCode = object.value(QStringLiteral("short_code")).toString();
+ if (!countryCode.isEmpty())
+ address.setCountryCode(countryCode);
+ } else if (valueId.startsWith(QStringLiteral("region"))) {
+ address.setState(valueText);
+ } else if (valueId.startsWith(QStringLiteral("postcode"))) {
+ address.setPostalCode(valueText);
+ } else if (valueId.startsWith(QStringLiteral("district"))) {
+ address.setDistrict(valueText);
+ } else if (valueId.startsWith(QStringLiteral("place"))) {
+ address.setCity(valueText);
+ }
+ }
+ } else {
+ // Fallback to using information from place_name.
+ const QString placeName = response.value(QStringLiteral("place_name")).toString();
+
+ // Remove actual place name.
+ address.setText(placeName.mid(placeName.indexOf(QLatin1Char(',')) + 1));
+ }
+
+ location.setAddress(address);
+
+ QJsonArray bbox = response.value(QStringLiteral("bbox")).toArray();
+ double top = bbox.at(3).toDouble();
+ double left = bbox.at(0).toDouble();
+ double bottom = bbox.at(1).toDouble();
+ double right = bbox.at(2).toDouble();
+ location.setBoundingBox(QGeoRectangle(QGeoCoordinate(top, left), QGeoCoordinate(bottom, right)));
+
+ QJsonArray center = response.value(QStringLiteral("center")).toArray();
+ location.setCoordinate(QGeoCoordinate(center.at(1).toDouble(), center.at(0).toDouble()));
+
+ return location;
+}
diff --git a/src/plugins/geoservices/mapbox/qmapboxcommon.h b/src/plugins/geoservices/mapbox/qmapboxcommon.h
new file mode 100644
index 00000000..e60c4e83
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/qmapboxcommon.h
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 Mapbox, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtLocation module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QMAPBOXAPICOMMON_H
+#define QMAPBOXAPICOMMON_H
+
+#include <QtCore/QString>
+#include <QtCore/QJsonObject>
+#include <QtPositioning/QGeoLocation>
+
+QT_BEGIN_NAMESPACE
+
+static const QString mapboxTilesApiPath = QStringLiteral("http://api.tiles.mapbox.com/v4/");
+
+// https://www.mapbox.com/api-documentation/#geocoding
+static const QString mapboxGeocodingApiPath = QStringLiteral("https://api.mapbox.com/geocoding/v5/mapbox.places/");
+static const QString mapboxGeocodingEnterpriseApiPath = QStringLiteral("https://api.mapbox.com/geocoding/v5/mapbox.places-permanent/");
+
+// https://www.mapbox.com/api-documentation/#directions
+static const QString mapboxDirectionsApiPath = QStringLiteral("https://api.mapbox.com/directions/v5/mapbox/");
+
+static const QByteArray mapboxDefaultUserAgent = QByteArrayLiteral("Qt Location based application");
+
+static const qreal mapboxDefaultRadius = 50000;
+
+class QMapboxCommon
+{
+public:
+ static QString mapboxNameForCategory(const QString &category);
+ static QGeoLocation parseGeoLocation(const QJsonObject &response);
+};
+
+QT_END_NAMESPACE
+
+#endif // QMAPBOXAPICOMMON_H
diff --git a/src/plugins/geoservices/mapbox/qplacecategoriesreplymapbox.cpp b/src/plugins/geoservices/mapbox/qplacecategoriesreplymapbox.cpp
new file mode 100644
index 00000000..8951efbb
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/qplacecategoriesreplymapbox.cpp
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 Mapbox, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtLocation module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qplacecategoriesreplymapbox.h"
+
+QT_BEGIN_NAMESPACE
+
+QPlaceCategoriesReplyMapbox::QPlaceCategoriesReplyMapbox(QObject *parent)
+: QPlaceReply(parent)
+{
+}
+
+QPlaceCategoriesReplyMapbox::~QPlaceCategoriesReplyMapbox()
+{
+}
+
+void QPlaceCategoriesReplyMapbox::finish()
+{
+ setFinished(true);
+ emit finished();
+}
+
+void QPlaceCategoriesReplyMapbox::setError(QPlaceReply::Error errorCode, const QString &errorString)
+{
+ QPlaceReply::setError(errorCode, errorString);
+ emit error(errorCode, errorString);
+ finish();
+}
+
+QT_END_NAMESPACE
diff --git a/src/plugins/geoservices/mapbox/qplacecategoriesreplymapbox.h b/src/plugins/geoservices/mapbox/qplacecategoriesreplymapbox.h
new file mode 100644
index 00000000..c4618c00
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/qplacecategoriesreplymapbox.h
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 Mapbox, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtLocation module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLACECATEGORIESREPLYMAPBOX_H
+#define QPLACECATEGORIESREPLYMAPBOX_H
+
+#include <QtLocation/QPlaceReply>
+
+QT_BEGIN_NAMESPACE
+
+class QPlaceCategoriesReplyMapbox : public QPlaceReply
+{
+ Q_OBJECT
+
+public:
+ explicit QPlaceCategoriesReplyMapbox(QObject *parent = 0);
+ ~QPlaceCategoriesReplyMapbox();
+
+public slots:
+ void finish();
+ void setError(QPlaceReply::Error errorCode, const QString &errorString);
+};
+
+QT_END_NAMESPACE
+
+#endif // QPLACECATEGORIESREPLYMAPBOX_H
diff --git a/src/plugins/geoservices/mapbox/qplacemanagerenginemapbox.cpp b/src/plugins/geoservices/mapbox/qplacemanagerenginemapbox.cpp
new file mode 100644
index 00000000..56678a45
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/qplacemanagerenginemapbox.cpp
@@ -0,0 +1,318 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 Mapbox, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtFoo module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qplacemanagerenginemapbox.h"
+#include "qplacesearchreplymapbox.h"
+#include "qplacesearchsuggestionreplymapbox.h"
+#include "qplacecategoriesreplymapbox.h"
+#include "qmapboxcommon.h"
+
+#include <QtCore/QUrlQuery>
+#include <QtCore/QXmlStreamReader>
+#include <QtCore/QRegularExpression>
+#include <QtNetwork/QNetworkAccessManager>
+#include <QtNetwork/QNetworkRequest>
+#include <QtNetwork/QNetworkReply>
+#include <QtPositioning/QGeoCircle>
+#include <QtLocation/private/unsupportedreplies_p.h>
+
+#include <QtCore/QElapsedTimer>
+
+namespace {
+
+// https://www.mapbox.com/api-documentation/#poi-categories
+static const QStringList categories = QStringList()
+ << QStringLiteral("bakery")
+ << QStringLiteral("bank")
+ << QStringLiteral("bar")
+ << QStringLiteral("cafe")
+ << QStringLiteral("church")
+ << QStringLiteral("cinema")
+ << QStringLiteral("coffee")
+ << QStringLiteral("concert")
+ << QStringLiteral("fast food")
+ << QStringLiteral("finance")
+ << QStringLiteral("gallery")
+ << QStringLiteral("historic")
+ << QStringLiteral("hotel")
+ << QStringLiteral("landmark")
+ << QStringLiteral("museum")
+ << QStringLiteral("music")
+ << QStringLiteral("park")
+ << QStringLiteral("pizza")
+ << QStringLiteral("restaurant")
+ << QStringLiteral("retail")
+ << QStringLiteral("school")
+ << QStringLiteral("shop")
+ << QStringLiteral("tea")
+ << QStringLiteral("theater")
+ << QStringLiteral("university");
+
+} // namespace
+
+// Mapbox API does not provide support for paginated place queries. This
+// implementation is a wrapper around its Geocoding service:
+// https://www.mapbox.com/api-documentation/#geocoding
+QPlaceManagerEngineMapbox::QPlaceManagerEngineMapbox(const QVariantMap &parameters, QGeoServiceProvider::Error *error, QString *errorString)
+ : QPlaceManagerEngine(parameters), m_networkManager(new QNetworkAccessManager(this))
+{
+ if (parameters.contains(QStringLiteral("mapbox.useragent")))
+ m_userAgent = parameters.value(QStringLiteral("mapbox.useragent")).toString().toLatin1();
+ else
+ m_userAgent = mapboxDefaultUserAgent;
+
+ m_accessToken = parameters.value(QStringLiteral("mapbox.access_token")).toString();
+
+ m_isEnterprise = parameters.value(QStringLiteral("mapbox.enterprise")).toBool();
+ m_urlPrefix = m_isEnterprise ? mapboxGeocodingEnterpriseApiPath : mapboxGeocodingApiPath;
+
+ *error = QGeoServiceProvider::NoError;
+ errorString->clear();
+}
+
+QPlaceManagerEngineMapbox::~QPlaceManagerEngineMapbox()
+{
+}
+
+QPlaceSearchReply *QPlaceManagerEngineMapbox::search(const QPlaceSearchRequest &request)
+{
+ return qobject_cast<QPlaceSearchReply *>(doSearch(request, PlaceSearchType::CompleteSearch));
+}
+
+QPlaceSearchSuggestionReply *QPlaceManagerEngineMapbox::searchSuggestions(const QPlaceSearchRequest &request)
+{
+ return qobject_cast<QPlaceSearchSuggestionReply *>(doSearch(request, PlaceSearchType::SuggestionSearch));
+}
+
+QPlaceReply *QPlaceManagerEngineMapbox::doSearch(const QPlaceSearchRequest &request, PlaceSearchType searchType)
+{
+ const QGeoShape searchArea = request.searchArea();
+ const QString searchTerm = request.searchTerm();
+ const QString recommendationId = request.recommendationId();
+ const QList<QPlaceCategory> placeCategories = request.categories();
+
+ bool invalidRequest = false;
+
+ // QLocation::DeviceVisibility is not allowed for non-enterprise accounts.
+ if (!m_isEnterprise)
+ invalidRequest |= request.visibilityScope().testFlag(QLocation::DeviceVisibility);
+
+ // Must provide either a search term, categories or recommendation.
+ invalidRequest |= searchTerm.isEmpty() && placeCategories.isEmpty() && recommendationId.isEmpty();
+
+ // Category search must not provide recommendation, and vice-versa.
+ invalidRequest |= searchTerm.isEmpty() && !placeCategories.isEmpty() && !recommendationId.isEmpty();
+
+ if (invalidRequest) {
+ QPlaceReply *reply;
+ if (searchType == PlaceSearchType::CompleteSearch)
+ reply = new QPlaceSearchReplyMapbox(request, 0, this);
+ else
+ reply = new QPlaceSearchSuggestionReplyMapbox(0, this);
+
+ connect(reply, &QPlaceReply::finished, this, &QPlaceManagerEngineMapbox::onReplyFinished);
+ connect(reply, QOverload<QPlaceReply::Error, const QString &>::of(&QPlaceReply::error),
+ this, &QPlaceManagerEngineMapbox::onReplyError);
+
+ QMetaObject::invokeMethod(reply, "setError", Qt::QueuedConnection,
+ Q_ARG(QPlaceReply::Error, QPlaceReply::BadArgumentError),
+ Q_ARG(QString, "Invalid request."));
+
+ return reply;
+ }
+
+ QString queryString;
+ if (!searchTerm.isEmpty()) {
+ queryString = searchTerm;
+ } else if (!recommendationId.isEmpty()) {
+ queryString = recommendationId;
+ } else {
+ QStringList similarIds;
+ for (const QPlaceCategory &placeCategory : placeCategories)
+ similarIds.append(placeCategory.categoryId());
+ queryString = similarIds.join(QLatin1Char(','));
+ }
+ queryString.append(QStringLiteral(".json"));
+
+ // https://www.mapbox.com/api-documentation/#request-format
+ QUrl requestUrl(m_urlPrefix + queryString);
+
+ QUrlQuery queryItems;
+ queryItems.addQueryItem(QStringLiteral("access_token"), m_accessToken);
+
+ // XXX: Investigate situations where we need to filter by 'country'.
+
+ QStringList languageCodes;
+ for (const QLocale& locale: qAsConst(m_locales)) {
+ // Returns the language and country of this locale as a string of the
+ // form "language_country", where language is a lowercase, two-letter
+ // ISO 639 language code, and country is an uppercase, two- or
+ // three-letter ISO 3166 country code.
+
+ if (locale.language() == QLocale::C)
+ continue;
+
+ const QString languageCode = locale.name().section(QLatin1Char('_'), 0, 0);
+ if (!languageCodes.contains(languageCode))
+ languageCodes.append(languageCode);
+ }
+
+ if (!languageCodes.isEmpty())
+ queryItems.addQueryItem(QStringLiteral("language"), languageCodes.join(QLatin1Char(',')));
+
+ if (searchArea.type() != QGeoShape::UnknownType) {
+ const QGeoCoordinate center = searchArea.center();
+ queryItems.addQueryItem(QStringLiteral("proximity"),
+ QString::number(center.longitude()) + QLatin1Char(',') + QString::number(center.latitude()));
+ }
+
+ queryItems.addQueryItem(QStringLiteral("type"), QStringLiteral("poi"));
+
+ // XXX: Investigate situations where 'autocomplete' should be disabled.
+
+ QGeoRectangle boundingBox = searchArea.boundingGeoRectangle();
+ if (!boundingBox.isEmpty()) {
+ queryItems.addQueryItem(QStringLiteral("bbox"),
+ QString::number(boundingBox.topLeft().longitude()) + QLatin1Char(',') +
+ QString::number(boundingBox.bottomRight().latitude()) + QLatin1Char(',') +
+ QString::number(boundingBox.bottomRight().longitude()) + QLatin1Char(',') +
+ QString::number(boundingBox.topLeft().latitude()));
+ }
+
+ if (request.limit() > 0)
+ queryItems.addQueryItem(QStringLiteral("limit"), QString::number(request.limit()));
+
+ // XXX: Investigate searchContext() use cases.
+
+ requestUrl.setQuery(queryItems);
+
+ QNetworkRequest networkRequest(requestUrl);
+ networkRequest.setHeader(QNetworkRequest::UserAgentHeader, m_userAgent);
+
+ QNetworkReply *networkReply = m_networkManager->get(networkRequest);
+ QPlaceReply *reply;
+ if (searchType == PlaceSearchType::CompleteSearch)
+ reply = new QPlaceSearchReplyMapbox(request, networkReply, this);
+ else
+ reply = new QPlaceSearchSuggestionReplyMapbox(networkReply, this);
+
+ connect(reply, &QPlaceReply::finished, this, &QPlaceManagerEngineMapbox::onReplyFinished);
+ connect(reply, QOverload<QPlaceReply::Error, const QString &>::of(&QPlaceReply::error),
+ this, &QPlaceManagerEngineMapbox::onReplyError);
+
+ return reply;
+}
+
+QPlaceReply *QPlaceManagerEngineMapbox::initializeCategories()
+{
+ if (m_categories.isEmpty()) {
+ for (const QString &categoryId : categories) {
+ QPlaceCategory category;
+ category.setName(QMapboxCommon::mapboxNameForCategory(categoryId));
+ category.setCategoryId(categoryId);
+ category.setVisibility(QLocation::PublicVisibility);
+ m_categories[categoryId] = category;
+ }
+ }
+
+ QPlaceCategoriesReplyMapbox *reply = new QPlaceCategoriesReplyMapbox(this);
+ connect(reply, &QPlaceReply::finished, this, &QPlaceManagerEngineMapbox::onReplyFinished);
+ connect(reply, QOverload<QPlaceReply::Error, const QString &>::of(&QPlaceReply::error),
+ this, &QPlaceManagerEngineMapbox::onReplyError);
+
+ // Queue a future finished() emission from the reply.
+ QMetaObject::invokeMethod(reply, "finish", Qt::QueuedConnection);
+
+ return reply;
+}
+
+QString QPlaceManagerEngineMapbox::parentCategoryId(const QString &categoryId) const
+{
+ Q_UNUSED(categoryId)
+
+ // Only a single category level.
+ return QString();
+}
+
+QStringList QPlaceManagerEngineMapbox::childCategoryIds(const QString &categoryId) const
+{
+ // Only a single category level.
+ if (categoryId.isEmpty())
+ return m_categories.keys();
+
+ return QStringList();
+}
+
+QPlaceCategory QPlaceManagerEngineMapbox::category(const QString &categoryId) const
+{
+ return m_categories.value(categoryId);
+}
+
+QList<QPlaceCategory> QPlaceManagerEngineMapbox::childCategories(const QString &parentId) const
+{
+ // Only a single category level.
+ if (parentId.isEmpty())
+ return m_categories.values();
+
+ return QList<QPlaceCategory>();
+}
+
+QList<QLocale> QPlaceManagerEngineMapbox::locales() const
+{
+ return m_locales;
+}
+
+void QPlaceManagerEngineMapbox::setLocales(const QList<QLocale> &locales)
+{
+ m_locales = locales;
+}
+
+void QPlaceManagerEngineMapbox::onReplyFinished()
+{
+ QPlaceReply *reply = qobject_cast<QPlaceReply *>(sender());
+ if (reply)
+ emit finished(reply);
+}
+
+void QPlaceManagerEngineMapbox::onReplyError(QPlaceReply::Error errorCode, const QString &errorString)
+{
+ QPlaceReply *reply = qobject_cast<QPlaceReply *>(sender());
+ if (reply)
+ emit error(reply, errorCode, errorString);
+}
diff --git a/src/plugins/geoservices/mapbox/qplacemanagerenginemapbox.h b/src/plugins/geoservices/mapbox/qplacemanagerenginemapbox.h
new file mode 100644
index 00000000..1c5bda5b
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/qplacemanagerenginemapbox.h
@@ -0,0 +1,102 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 Mapbox, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtFoo module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLACEMANAGERENGINEMAPBOX_H
+#define QPLACEMANAGERENGINEMAPBOX_H
+
+#include <QtLocation/QPlaceManagerEngine>
+#include <QtLocation/QGeoServiceProvider>
+
+QT_BEGIN_NAMESPACE
+
+class QNetworkAccessManager;
+
+class QPlaceManagerEngineMapbox : public QPlaceManagerEngine
+{
+ Q_OBJECT
+
+public:
+ QPlaceManagerEngineMapbox(const QVariantMap &parameters, QGeoServiceProvider::Error *,
+ QString *errorString);
+ ~QPlaceManagerEngineMapbox();
+
+ QPlaceSearchReply *search(const QPlaceSearchRequest &) Q_DECL_OVERRIDE;
+
+ QPlaceSearchSuggestionReply *searchSuggestions(const QPlaceSearchRequest &) Q_DECL_OVERRIDE;
+
+ QPlaceReply *initializeCategories() Q_DECL_OVERRIDE;
+ QString parentCategoryId(const QString &categoryId) const Q_DECL_OVERRIDE;
+ QStringList childCategoryIds(const QString &categoryId) const Q_DECL_OVERRIDE;
+ QPlaceCategory category(const QString &categoryId) const Q_DECL_OVERRIDE;
+ QList<QPlaceCategory> childCategories(const QString &parentId) const Q_DECL_OVERRIDE;
+
+ QList<QLocale> locales() const Q_DECL_OVERRIDE;
+ void setLocales(const QList<QLocale> &locales) Q_DECL_OVERRIDE;
+
+ // TODO: icon
+ //QPlaceIcon icon(const QString &remotePath,
+ // const QList<QPlaceCategory> &categories = QList<QPlaceCategory>()) const;
+
+ //QUrl constructIconUrl(const QPlaceIcon &icon, const QSize &size) const Q_DECL_OVERRIDE;
+
+private slots:
+ void onReplyFinished();
+ void onReplyError(QPlaceReply::Error, const QString &errorString);
+
+private:
+ enum PlaceSearchType {
+ CompleteSearch = 0,
+ SuggestionSearch
+ };
+
+ QPlaceReply *doSearch(const QPlaceSearchRequest&, PlaceSearchType);
+
+ QNetworkAccessManager *m_networkManager;
+ QByteArray m_userAgent;
+ QString m_accessToken;
+ QString m_urlPrefix;
+ bool m_isEnterprise;
+
+ QList<QLocale> m_locales;
+ QHash<QString, QPlaceCategory> m_categories;
+};
+
+QT_END_NAMESPACE
+
+#endif // QPLACEMANAGERENGINEMAPBOX_H
diff --git a/src/plugins/geoservices/mapbox/qplacesearchreplymapbox.cpp b/src/plugins/geoservices/mapbox/qplacesearchreplymapbox.cpp
new file mode 100644
index 00000000..a6654e81
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/qplacesearchreplymapbox.cpp
@@ -0,0 +1,230 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 Mapbox, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtFoo module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qplacesearchreplymapbox.h"
+#include "qplacemanagerenginemapbox.h"
+#include "qmapboxcommon.h"
+
+#include <QtCore/QJsonDocument>
+#include <QtCore/QJsonArray>
+#include <QtCore/QJsonObject>
+#include <QtNetwork/QNetworkReply>
+#include <QtPositioning/QGeoCircle>
+#include <QtPositioning/QGeoRectangle>
+#include <QtLocation/QPlaceResult>
+#include <QtLocation/QPlaceSearchRequest>
+#include <QtLocation/QPlaceContactDetail>
+
+QT_BEGIN_NAMESPACE
+
+namespace {
+
+// https://www.mapbox.com/api-documentation/#response-object
+QPlaceResult parsePlaceResult(const QJsonObject &response, const QString &attribution)
+{
+ QPlace place;
+
+ place.setAttribution(attribution);
+ place.setPlaceId(response.value(QStringLiteral("id")).toString());
+ place.setVisibility(QLocation::PublicVisibility);
+
+ QString placeName = response.value(QStringLiteral("text")).toString();
+ if (placeName.isEmpty())
+ placeName = response.value(QStringLiteral("place_name")).toString();
+
+ place.setName(placeName);
+ place.setDetailsFetched(true);
+
+ // Unused data: type, place_type, relevance, properties.short_code,
+ // properties.landmark, properties.wikidata
+
+ // The property object is unstable and only Carmen GeoJSON properties are
+ // guaranteed. This implementation should check for the presence of these
+ // values in a response before it attempts to use them.
+ if (response.value(QStringLiteral("properties")).isObject()) {
+ const QJsonObject properties = response.value(QStringLiteral("properties")).toObject();
+
+ const QString makiString = properties.value(QStringLiteral("maki")).toString();
+ if (!makiString.isEmpty()) {
+ QVariantMap iconParameters;
+ iconParameters.insert(QPlaceIcon::SingleUrl,
+ QUrl::fromLocalFile(QStringLiteral(":/mapbox/") + makiString + QStringLiteral(".svg")));
+
+ QPlaceIcon icon;
+ icon.setParameters(iconParameters);
+ place.setIcon(icon);
+ }
+
+ const QString phoneString = properties.value(QStringLiteral("tel")).toString();
+ if (!phoneString.isEmpty()) {
+ QPlaceContactDetail phoneDetail;
+ phoneDetail.setLabel(QPlaceContactDetail::Phone);
+ phoneDetail.setValue(phoneString);
+ place.setContactDetails(QPlaceContactDetail::Phone, QList<QPlaceContactDetail>() << phoneDetail);
+ }
+
+ const QString categoryString = properties.value(QStringLiteral("category")).toString();
+ if (!categoryString.isEmpty()) {
+ QList<QPlaceCategory> categories;
+ for (const QString &categoryId : categoryString.split(QStringLiteral(", "), QString::SkipEmptyParts)) {
+ QPlaceCategory category;
+ category.setName(QMapboxCommon::mapboxNameForCategory(categoryId));
+ category.setCategoryId(categoryId);
+ categories.append(category);
+ }
+ place.setCategories(categories);
+ }
+ }
+
+ // XXX: matching_text, matching_place_name
+ // XXX: text_{language}, place_name_{language}
+ // XXX: language, language_{language}
+
+ place.setLocation(QMapboxCommon::parseGeoLocation(response));
+
+ // XXX: geometry, geometry.type, geometry.coordinates, geometry.interpolated
+
+ QPlaceResult result;
+ result.setPlace(place);
+ result.setTitle(place.name());
+
+ return result;
+}
+
+} // namespace
+
+QPlaceSearchReplyMapbox::QPlaceSearchReplyMapbox(const QPlaceSearchRequest &request, QNetworkReply *reply, QPlaceManagerEngineMapbox *parent)
+: QPlaceSearchReply(parent)
+{
+ Q_ASSERT(parent);
+ if (!reply) {
+ setError(UnknownError, QStringLiteral("Null reply"));
+ return;
+ }
+ setRequest(request);
+
+ connect(reply, &QNetworkReply::finished, this, &QPlaceSearchReplyMapbox::onReplyFinished);
+ connect(reply, QOverload<QNetworkReply::NetworkError>::of(&QNetworkReply::error),
+ this, &QPlaceSearchReplyMapbox::onNetworkError);
+
+ connect(this, &QPlaceReply::aborted, reply, &QNetworkReply::abort);
+ connect(this, &QObject::destroyed, reply, &QObject::deleteLater);
+}
+
+QPlaceSearchReplyMapbox::~QPlaceSearchReplyMapbox()
+{
+}
+
+void QPlaceSearchReplyMapbox::setError(QPlaceReply::Error errorCode, const QString &errorString)
+{
+ QPlaceReply::setError(errorCode, errorString);
+ emit error(errorCode, errorString);
+
+ setFinished(true);
+ emit finished();
+}
+
+void QPlaceSearchReplyMapbox::onReplyFinished()
+{
+ QNetworkReply *reply = static_cast<QNetworkReply *>(sender());
+ reply->deleteLater();
+
+ if (reply->error() != QNetworkReply::NoError)
+ return;
+
+ const QJsonDocument document = QJsonDocument::fromJson(reply->readAll());
+ if (!document.isObject()) {
+ setError(ParseError, tr("Response parse error"));
+ return;
+ }
+
+ const QJsonArray features = document.object().value(QStringLiteral("features")).toArray();
+ const QString attribution = document.object().value(QStringLiteral("attribution")).toString();
+
+ const QGeoCoordinate searchCenter = request().searchArea().center();
+ const QList<QPlaceCategory> categories = request().categories();
+
+ QList<QPlaceSearchResult> results;
+ for (const QJsonValue &feature : features) {
+ QPlaceResult placeResult = parsePlaceResult(feature.toObject(), attribution);
+
+ if (!categories.isEmpty()) {
+ const QList<QPlaceCategory> placeCategories = placeResult.place().categories();
+ if (!placeCategories.isEmpty()) {
+ bool categoryMatch = false;
+ for (const QPlaceCategory &placeCategory : placeCategories) {
+ if (categories.contains(placeCategory)) {
+ categoryMatch = true;
+ break;
+ }
+ }
+ if (!categoryMatch)
+ continue;
+ }
+ }
+
+ placeResult.setDistance(searchCenter.distanceTo(placeResult.place().location().coordinate()));
+ results.append(placeResult);
+ }
+
+ if (request().relevanceHint() == QPlaceSearchRequest::DistanceHint) {
+ qSort(results.begin(), results.end(), [](const QPlaceResult &a, const QPlaceResult &b) -> bool {
+ return a.distance() < b.distance();
+ });
+ } else if (request().relevanceHint() == QPlaceSearchRequest::LexicalPlaceNameHint) {
+ qSort(results.begin(), results.end(), [](const QPlaceResult &a, const QPlaceResult &b) -> bool {
+ return a.place().name() < b.place().name();
+ });
+ }
+
+ setResults(results);
+
+ setFinished(true);
+ emit finished();
+}
+
+void QPlaceSearchReplyMapbox::onNetworkError(QNetworkReply::NetworkError error)
+{
+ Q_UNUSED(error)
+ QNetworkReply *reply = static_cast<QNetworkReply *>(sender());
+ reply->deleteLater();
+ setError(CommunicationError, reply->errorString());
+}
+
+QT_END_NAMESPACE
diff --git a/src/plugins/geoservices/mapbox/qplacesearchreplymapbox.h b/src/plugins/geoservices/mapbox/qplacesearchreplymapbox.h
new file mode 100644
index 00000000..05ba8fc6
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/qplacesearchreplymapbox.h
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 Mapbox, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtFoo module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLACESEARCHREPLYMAPBOX_H
+#define QPLACESEARCHREPLYMAPBOX_H
+
+#include <QtLocation/QPlaceSearchReply>
+#include <QNetworkReply>
+
+QT_BEGIN_NAMESPACE
+
+class QNetworkReply;
+class QPlaceManagerEngineMapbox;
+class QPlaceResult;
+
+class QPlaceSearchReplyMapbox : public QPlaceSearchReply
+{
+ Q_OBJECT
+
+public:
+ QPlaceSearchReplyMapbox(const QPlaceSearchRequest &request, QNetworkReply *reply,
+ QPlaceManagerEngineMapbox *parent);
+ ~QPlaceSearchReplyMapbox();
+
+public slots:
+ void setError(QPlaceReply::Error errorCode, const QString &errorString);
+
+private slots:
+ void onReplyFinished();
+ void onNetworkError(QNetworkReply::NetworkError error);
+};
+
+QT_END_NAMESPACE
+
+#endif // QPLACESEARCHREPLYMAPBOX_H
diff --git a/src/plugins/geoservices/mapbox/qplacesearchsuggestionreplymapbox.cpp b/src/plugins/geoservices/mapbox/qplacesearchsuggestionreplymapbox.cpp
new file mode 100644
index 00000000..23d76175
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/qplacesearchsuggestionreplymapbox.cpp
@@ -0,0 +1,120 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 Mapbox, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtFoo module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qplacesearchsuggestionreplymapbox.h"
+#include "qplacemanagerenginemapbox.h"
+
+#include <QtCore/QJsonDocument>
+#include <QtCore/QJsonArray>
+#include <QtCore/QJsonObject>
+#include <QtNetwork/QNetworkReply>
+#include <QtPositioning/QGeoCircle>
+#include <QtPositioning/QGeoRectangle>
+#include <QtLocation/QPlaceResult>
+#include <QtLocation/QPlaceSearchRequest>
+
+QT_BEGIN_NAMESPACE
+
+QPlaceSearchSuggestionReplyMapbox::QPlaceSearchSuggestionReplyMapbox(QNetworkReply *reply, QPlaceManagerEngineMapbox *parent)
+: QPlaceSearchSuggestionReply(parent)
+{
+ Q_ASSERT(parent);
+ if (!reply) {
+ setError(UnknownError, QStringLiteral("Null reply"));
+ return;
+ }
+
+ connect(reply, &QNetworkReply::finished, this, &QPlaceSearchSuggestionReplyMapbox::onReplyFinished);
+ connect(reply, QOverload<QNetworkReply::NetworkError>::of(&QNetworkReply::error),
+ this, &QPlaceSearchSuggestionReplyMapbox::onNetworkError);
+
+ connect(this, &QPlaceReply::aborted, reply, &QNetworkReply::abort);
+ connect(this, &QObject::destroyed, reply, &QObject::deleteLater);
+}
+
+QPlaceSearchSuggestionReplyMapbox::~QPlaceSearchSuggestionReplyMapbox()
+{
+}
+
+void QPlaceSearchSuggestionReplyMapbox::setError(QPlaceReply::Error errorCode, const QString &errorString)
+{
+ QPlaceReply::setError(errorCode, errorString);
+ emit error(errorCode, errorString);
+
+ setFinished(true);
+ emit finished();
+}
+
+void QPlaceSearchSuggestionReplyMapbox::onReplyFinished()
+{
+ QNetworkReply *reply = static_cast<QNetworkReply *>(sender());
+ reply->deleteLater();
+
+ if (reply->error() != QNetworkReply::NoError)
+ return;
+
+ QJsonDocument document = QJsonDocument::fromJson(reply->readAll());
+ if (!document.isObject()) {
+ setError(ParseError, tr("Response parse error"));
+ return;
+ }
+
+ const QJsonArray features = document.object().value(QStringLiteral("features")).toArray();
+
+ QStringList suggestions;
+ for (const QJsonValue &feature : features) {
+ if (feature.isObject())
+ suggestions.append(feature.toObject().value(QStringLiteral("text")).toString());
+ }
+
+ setSuggestions(suggestions);
+
+ setFinished(true);
+ emit finished();
+}
+
+void QPlaceSearchSuggestionReplyMapbox::onNetworkError(QNetworkReply::NetworkError error)
+{
+ Q_UNUSED(error)
+ QNetworkReply *reply = static_cast<QNetworkReply *>(sender());
+ reply->deleteLater();
+ setError(CommunicationError, reply->errorString());
+}
+
+QT_END_NAMESPACE
diff --git a/src/plugins/geoservices/mapbox/qplacesearchsuggestionreplymapbox.h b/src/plugins/geoservices/mapbox/qplacesearchsuggestionreplymapbox.h
new file mode 100644
index 00000000..8516c738
--- /dev/null
+++ b/src/plugins/geoservices/mapbox/qplacesearchsuggestionreplymapbox.h
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 Mapbox, Inc.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtFoo module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLACESEARCHSUGGESTIONREPLYMAPBOX_H
+#define QPLACESEARCHSUGGESTIONREPLYMAPBOX_H
+
+#include <QtLocation/QPlaceSearchSuggestionReply>
+#include <QNetworkReply>
+
+QT_BEGIN_NAMESPACE
+
+class QNetworkReply;
+class QPlaceManagerEngineMapbox;
+class QPlaceResult;
+
+class QPlaceSearchSuggestionReplyMapbox : public QPlaceSearchSuggestionReply
+{
+ Q_OBJECT
+
+public:
+ QPlaceSearchSuggestionReplyMapbox(QNetworkReply *reply, QPlaceManagerEngineMapbox *parent);
+ ~QPlaceSearchSuggestionReplyMapbox();
+
+public slots:
+ void setError(QPlaceReply::Error errorCode, const QString &errorString);
+
+private slots:
+ void onReplyFinished();
+ void onNetworkError(QNetworkReply::NetworkError error);
+};
+
+QT_END_NAMESPACE
+
+#endif // QPLACESEARCHSUGGESTIONREPLYMAPBOX_H