Get features under the mouse pointer

Use the queryRenderedFeatures function to display the attributes of map elements when they are hovered over.

NPM module setup


npm install --save @maptiler/sdk
import { Map, MapStyle, config } from '@maptiler/sdk';
import '@maptiler/sdk/dist/maptiler-sdk.css';

config.apiKey = 'YOUR_MAPTILER_API_KEY_HERE';
const map = new Map({
    container: 'map',
    style: MapStyle.STREETS, 
    center: [-96, 37.8],
    zoom: 3
});

map.on('mousemove', function (e) {
    const features = map.queryRenderedFeatures(e.point);

    // Limit the number of properties we're displaying for
    // legibility and performance
    const displayProperties = [
        'type',
        'properties',
        'id',
        'layer',
        'source',
        'sourceLayer',
        'state'
    ];

    const displayFeatures = features.map(function (feat) {
        const displayFeat = {};
        displayProperties.forEach(function (prop) {
            displayFeat[prop] = feat[prop];
        });
        return displayFeat;
    });

    document.getElementById('features').innerHTML = JSON.stringify(
        displayFeatures,
        null,
        2
    );
});
Get coordinates of the mouse pointer

Get coordinates of the mouse pointer

Examples

Show mouse position on hover with coordinates.

Display a popup on hover

Display a popup on hover

Examples

Show a popup when hovering over a custom marker.

Get POIs information on click

Get POIs information on click

Examples

Get POI information by clicking the map.

Was this helpful?