MapTiler Geocoder
JavaScript component for geographical search provided as part of MapTiler Cloud.
Usage example
Autocomplete
<html>
<head>
<script src="https://cdn.maptiler.com/maptiler-geocoder/v1.1.0/maptiler-geocoder.js"></script>
<link href="https://cdn.maptiler.com/maptiler-geocoder/v1.1.0/maptiler-geocoder.css" rel="stylesheet" />
</head>
<body>
<input id="search" type="text" />
<script>
var geocoder = new maptiler.Geocoder({
input: 'search', // id of input element
key: 'get_your_own_key'
});
geocoder.on('select', function(item) {
console.log('Selected', item);
});
</script>
</body>
</html>
API
var geocoder = new maptiler.Geocoder({
key: 'get_your_own_key'
});
geocoder.geocode('Zurich')
.then(function(results) {
console.log(results.features[0]);
});
Note: You can get your own keys for free at https://cloud.maptiler.com.
API
maptiler.Geocoder
-
Geocoder
- new Geocoder(options)
- .setLanguage(language)
- .setBounds(bbox)
- .setProximity(point)
-
.getQueryUrl(query) ⇒
string
-
.geocode(query) ⇒
Promise.<GeocodingResult>
Constructor
new Geocoder(options)
Param | Type | Default | Description |
---|---|---|---|
options | Object |
||
options.key | string |
Access key from https://cloud.maptiler.com/ | |
[options.input] |
string | HTMLInputElement | null
|
null |
If no input is provided, the autocomplete will not be initiated, but the rest of the methods can still be used. Most notably .geocode(query). |
[options.autocompleteWaitMs] | number |
500 |
Number of milliseconds to wait before autocompleting. At most one request will be sent within this timeframe. Useful if you want to wait for the user to finish typing. Does not have any effect if input is not specified. |
[options.language] |
string | Array.<string>
|
null |
Specifies language preference e.g. en,de , null to disable. |
[options.bounds] | Array.<number> |
null |
Search only within the specified bounds [minx, miny, maxx, maxy] , null to disable. |
[options.proximity] | Array.<number> |
null |
Prefer results closer to the specified point [lon, lat] , null to disable. |
Methods
geocoder.setLanguage(language)
Param | Type |
---|---|
language |
string | Array.<string> | null
|
geocoder.setBounds(bbox)
Param | Type |
---|---|
bbox |
Array.<number> | null
|
geocoder.setProximity(point)
Param | Type |
---|---|
point |
Array.<number> | null
|
string
geocoder.getQueryUrl(query) ⇒ Param | Type |
---|---|
query | string |
Promise.<GeocodingResult>
geocoder.geocode(query) ⇒ Performs the search with the given query
and currently set geocoder options.
Param | Type |
---|---|
query | string |
Events
The Geocoder inherits from EventEmitter, so you can use the related methods. Most notably geocoder.on
(see EventEmitter#on) to listen for events:
geocoder.on('select', function(item) {
console.log('Selected', item);
});
Possible event types:
select
Emitted when user selects an item.
hover
Emitted when user hovers over and item in the autocomplete list.
Types
GeoJSONFeatureCollection
GeocodingResult : The result of the geocoding is always a GeoJSON
with individual items in a FeatureCollection
at the root (features
property).
Properties
Name | Type |
---|---|
features | Array.<GeocodingResultItem> |