Skip to content

Instantly share code, notes, and snippets.

@jbranigan
Last active March 8, 2019 18:17
Show Gist options
  • Save jbranigan/d7f5f7562a461477b3a281068750806f to your computer and use it in GitHub Desktop.
Save jbranigan/d7f5f7562a461477b3a281068750806f to your computer and use it in GitHub Desktop.
Example search with JSON supplementary data
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<title>Supplement forward geocoding search results from another data source</title>
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.53.1/mapbox-gl.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.53.1/mapbox-gl.css' rel='stylesheet' />
<style>
body { margin:0; padding:0; }
#map { position:absolute; top:0; bottom:0; width:100%; }
</style>
</head>
<body>
<script src='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v3.1.4/mapbox-gl-geocoder.min.js'></script>
<link rel='stylesheet' href='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v3.1.4/mapbox-gl-geocoder.css' type='text/css' />
<div id='map'></div>
<script>
mapboxgl.accessToken = 'pk.eyJ1IjoiYnJhbmlnYW4iLCJhIjoiY2puM2lucjMzMGdlejNwcWdsMmoxZnFwdCJ9.mmh4Bjo-y_43TnFolyb17Q';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v9',
center: [10.451, 51.165],
zoom: 5
});
var customData = {"p4":
{"type": "postal",
"level": 4,
"TilesetName": "mapbox.enterprise-boundaries-p4-v2",
"PolyLayerName": "boundaries_postal_4",
"PointLayerName": "points_postal_4",
"data":
{"all":
{
"BGP41000":{"id_int":1357907153,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP310","z_min":6,"centroid":[23.3251,42.6952],"bounds":[23.3144,42.6882,23.3353,42.703]},
"BGP41111":{"id_int":1721259803,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP311","z_min":6,"centroid":[23.3586,42.6839],"bounds":[23.3476,42.6785,23.369,42.69]},
"BGP41113":{"id_int":571957890,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP311","z_min":6,"centroid":[23.3577,42.6724],"bounds":[23.3395,42.6661,23.3762,42.6836]},
"BGP41124":{"id_int":2089883614,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP311","z_min":6,"centroid":[23.3457,42.6879],"bounds":[23.3378,42.6834,23.3519,42.6922]},
"BGP41138":{"id_int":221687596,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP311","z_min":6,"centroid":[23.4016,42.6297],"bounds":[23.3836,42.6185,23.4194,42.6419]},
"BGP41142":{"id_int":1283815588,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP311","z_min":6,"centroid":[23.3272,42.6871],"bounds":[23.3207,42.6826,23.3378,42.693]},
"BGP41164":{"id_int":1617654017,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP311","z_min":6,"centroid":[23.3381,42.6775],"bounds":[23.3192,42.6656,23.3524,42.6902]},
"BGP41172":{"id_int":1734748592,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP311","z_min":6,"centroid":[23.3471,42.6625],"bounds":[23.3386,42.6575,23.3575,42.6676]},
"BGP41202":{"id_int":76690127,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP312","z_min":6,"centroid":[23.329,42.7107],"bounds":[23.3169,42.701,23.3434,42.7206]},
"BGP41220":{"id_int":857134071,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP312","z_min":6,"centroid":[23.3099,42.7267],"bounds":[23.2887,42.7119,23.3422,42.7417]},
"BGP41225":{"id_int":1842695627,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP312","z_min":6,"centroid":[23.3463,42.7221],"bounds":[23.3239,42.7107,23.3658,42.733]},
"BGP41229":{"id_int":1410359953,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP312","z_min":6,"centroid":[23.2825,42.7364],"bounds":[23.2697,42.7253,23.2963,42.7424]},
"BGP41231":{"id_int":1008219748,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP312","z_min":6,"centroid":[23.2867,42.7511],"bounds":[23.2723,42.7323,23.3177,42.7671]},
"BGP41233":{"id_int":724714243,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP312","z_min":6,"centroid":[23.3098,42.7113],"bounds":[23.2977,42.7054,23.3201,42.7174]},
"BGP41271":{"id_int":1047522961,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP312","z_min":6,"centroid":[23.3094,42.759],"bounds":[23.2817,42.74,23.3348,42.7755]},
"BGP41303":{"id_int":135452201,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.3102,42.6999],"bounds":[23.3016,42.6929,23.3193,42.7061]},
"BGP41309":{"id_int":767642039,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.295,42.7055],"bounds":[23.2763,42.696,23.3082,42.715]},
"BGP41324":{"id_int":1003421489,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.2676,42.7168],"bounds":[23.2528,42.7075,23.2885,42.7268]},
"BGP41326":{"id_int":210095044,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.2719,42.7521],"bounds":[23.266,42.7406,23.2857,42.7629]},
"BGP41330":{"id_int":1869628941,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.2862,42.6943],"bounds":[23.2767,42.6874,23.298,42.7018]},
"BGP41331":{"id_int":1573922768,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.2322,42.7411],"bounds":[23.1968,42.7226,23.2526,42.759]},
"BGP41335":{"id_int":152040481,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.24,42.7297],"bounds":[23.2322,42.7214,23.2518,42.7378]},
"BGP41336":{"id_int":16655909,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.2525,42.7119],"bounds":[23.2401,42.6971,23.2678,42.7294]},
"BGP41343":{"id_int":1008344420,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.2522,42.7297],"bounds":[23.2474,42.7234,23.262,42.7361]},
"BGP41345":{"id_int":1390358254,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.2973,42.7175],"bounds":[23.2829,42.7123,23.3101,42.7226]},
"BGP41359":{"id_int":891532417,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.2412,42.715],"bounds":[23.2302,42.7072,23.2512,42.7228]},
"BGP41360":{"id_int":470981402,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.2724,42.7273],"bounds":[23.2525,42.7156,23.2959,42.74]},
"BGP41373":{"id_int":1112530270,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.2638,42.698],"bounds":[23.2441,42.6859,23.2861,42.7088]},
"BGP41379":{"id_int":2083387890,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.2992,42.6933],"bounds":[23.2872,42.689,23.305,42.6975]},
"BGP41387":{"id_int":1612491656,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP313","z_min":6,"centroid":[23.2607,42.7462],"bounds":[23.2471,42.733,23.278,42.7588]},
"BGP41404":{"id_int":1830722219,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP314","z_min":6,"centroid":[23.2946,42.66],"bounds":[23.2829,42.6466,23.304,42.674]},
"BGP41407":{"id_int":121735544,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP314","z_min":6,"centroid":[23.3116,42.6543],"bounds":[23.3005,42.6362,23.3331,42.6722]},
"BGP41408":{"id_int":1423244374,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP314","z_min":6,"centroid":[23.306,42.6763],"bounds":[23.2945,42.6692,23.3201,42.6826]},
"BGP41415":{"id_int":336382087,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP314","z_min":6,"centroid":[23.2626,42.5943],"bounds":[23.2218,42.5425,23.3273,42.6466]},
"BGP41421":{"id_int":2015602956,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP314","z_min":6,"centroid":[23.322,42.6775],"bounds":[23.3087,42.6703,23.3283,42.6844]},
"BGP41431":{"id_int":1682815025,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP314","z_min":6,"centroid":[23.3068,42.6829],"bounds":[23.3012,42.6793,23.314,42.6867]},
"BGP41434":{"id_int":1586079918,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP314","z_min":6,"centroid":[23.3172,42.5924],"bounds":[23.2892,42.5483,23.3549,42.6362]},
"BGP41463":{"id_int":876752317,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP314","z_min":6,"centroid":[23.3162,42.6863],"bounds":[23.3104,42.6815,23.3217,42.6911]},
"BGP41504":{"id_int":1331510484,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP315","z_min":6,"centroid":[23.3408,42.6949],"bounds":[23.3344,42.6902,23.347,42.6988]},
"BGP41505":{"id_int":2135713864,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP315","z_min":6,"centroid":[23.3559,42.6957],"bounds":[23.344,42.6868,23.3687,42.7041]},
"BGP41510":{"id_int":132152378,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP315","z_min":6,"centroid":[23.3482,42.7064],"bounds":[23.333,42.6992,23.3686,42.7137]},
"BGP41517":{"id_int":1498805465,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP315","z_min":6,"centroid":[23.3776,42.6985],"bounds":[23.3559,42.6754,23.4002,42.7218]},
"BGP41527":{"id_int":2018827531,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP315","z_min":6,"centroid":[23.3386,42.7011],"bounds":[23.3329,42.6965,23.3496,42.7061]},
"BGP41528":{"id_int":291694783,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP315","z_min":6,"centroid":[23.424,42.6595],"bounds":[23.3948,42.6376,23.4517,42.6803]},
"BGP41540":{"id_int":2096191642,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP315","z_min":6,"centroid":[23.4077,42.6876],"bounds":[23.388,42.6772,23.4261,42.6976]},
"BGP41574":{"id_int":850139282,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP315","z_min":6,"centroid":[23.3738,42.6852],"bounds":[23.3643,42.674,23.3862,42.6962]},
"BGP41582":{"id_int":2012056456,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP315","z_min":6,"centroid":[23.3971,42.6502],"bounds":[23.3814,42.6363,23.4264,42.6628]},
"BGP41592":{"id_int":1616696063,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP315","z_min":6,"centroid":[23.3944,42.6676],"bounds":[23.3813,42.6545,23.4073,42.6811]},
"BGP41606":{"id_int":1103640282,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP316","z_min":6,"centroid":[23.3064,42.6906],"bounds":[23.297,42.6839,23.3153,42.6966]},
"BGP41612":{"id_int":97419635,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP316","z_min":6,"centroid":[23.2888,42.6828],"bounds":[23.2722,42.6755,23.3025,42.6909]},
"BGP41616":{"id_int":1194289810,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP316","z_min":6,"centroid":[23.2538,42.6345],"bounds":[23.2247,42.6087,23.3006,42.6601]},
"BGP41618":{"id_int":1174868335,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP316","z_min":6,"centroid":[23.2664,42.6713],"bounds":[23.2492,42.6537,23.2887,42.6889]},
"BGP41632":{"id_int":2009875927,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP316","z_min":6,"centroid":[23.2503,42.685],"bounds":[23.2357,42.6771,23.2649,42.6926]},
"BGP41680":{"id_int":1123723115,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP316","z_min":6,"centroid":[23.2876,42.6709],"bounds":[23.2779,42.6624,23.2981,42.6789]},
"BGP41700":{"id_int":945761319,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP317","z_min":6,"centroid":[23.3406,42.6522],"bounds":[23.3213,42.6316,23.3597,42.6726]},
"BGP41712":{"id_int":1763904866,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP317","z_min":6,"centroid":[23.3804,42.6438],"bounds":[23.3729,42.6365,23.3873,42.6476]},
"BGP41715":{"id_int":754344327,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP317","z_min":6,"centroid":[23.3761,42.6329],"bounds":[23.3684,42.6242,23.3858,42.6414]},
"BGP41729":{"id_int":420798332,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP317","z_min":6,"centroid":[23.3824,42.6507],"bounds":[23.3767,42.6459,23.3882,42.655]},
"BGP41734":{"id_int":865751844,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP317","z_min":6,"centroid":[23.352,42.6365],"bounds":[23.3452,42.6298,23.3596,42.6432]},
"BGP41750":{"id_int":2000629935,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP317","z_min":6,"centroid":[23.3731,42.663],"bounds":[23.3682,42.6581,23.3784,42.6678]},
"BGP41784":{"id_int":80857070,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP317","z_min":6,"centroid":[23.3829,42.6615],"bounds":[23.365,42.6479,23.3905,42.675]},
"BGP41797":{"id_int":343517313,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP317","z_min":6,"centroid":[23.3642,42.6627],"bounds":[23.3544,42.6562,23.3701,42.669]},
"BGP41799":{"id_int":1022362879,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP317","z_min":6,"centroid":[23.3692,42.6439],"bounds":[23.3621,42.6351,23.3769,42.6497]},
"BGP41836":{"id_int":725687125,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP318","z_min":6,"centroid":[23.384,42.7131],"bounds":[23.3721,42.7033,23.3954,42.7207]},
"BGP41870":{"id_int":1872633411,"worldview":"all","name":"София","name_ascii":"Sofiya","description":"4-digit postcode area","source_date":"2016","parent_0":"BG","parent_1":"BGP1BG","parent_2":"BGP2BG","parent_3":"BGP318","z_min":6,"centroid":[23.5231,42.7509],"bounds":[23.4565,42.7257,23.5621,42.7761]}
}
}
}
};
function forwardGeocoder(query) {
var matchingFeatures = [];
var postal4 = 'BGP4' + query;
if (customData.p4.data.all[postal4]) {
console.log(customData.p4.data.all[postal4]);
var bgResult = customData.p4.data.all[postal4];
// add a bulgaria flag emoji as a prefix for custom data results
// using carmen geojson format: https://github.com/mapbox/carmen/blob/master/carmen-geojson.md
bgResult['place_name'] = '🇧🇬 ' + postal4 + ' - ' + bgResult.name;
bgResult['center'] = bgResult.centroid;
bgResult['bbox'] = bgResult.bounds;
bgResult['place_type'] = ['place'];
matchingFeatures.push(bgResult);
}
return matchingFeatures;
}
map.addControl(new MapboxGeocoder({
accessToken: mapboxgl.accessToken,
localGeocoder: forwardGeocoder,
zoom: 14,
placeholder: "Enter search e.g. 1504 or 1612"
}));
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment