Skip to content

Property Maps

PLUS The map view shows your properties as markers on a map — above the search results and on a property’s detail page. You will find the options described here in the Customizer under WP-ImmoMakler → Maps.

Above the search results, the map shows all properties that match the current search. Markers that are close together are combined into a group and split apart again as you zoom in. If a visitor narrows the search further, only the markers are swapped out — the map itself is not reloaded.

Google map with the search results, with the search form and the property list view below

On the page of an individual property, the map shows its location. If a complete address is on file, the marker sits exactly on it. If the house number is missing, WP-ImmoMakler instead draws a semi-transparent radius that indicates the approximate location without revealing it.

Detail map of a property without an exact address: the marker with the semi-transparent radius around its approximate location

Under Map provider you choose which service draws your maps. Four are available:

Expanded Map provider dropdown in the Customizer with the options Google Maps, Mapbox, MapTiler, MapLibre and No map
ProviderCredentialsCost
Google MapsAPI key and Google billing accountabove a monthly free quota
MapLibrenonenone
MapTilerKey from your MapTiler accountabove a monthly free quota
MapboxAccess token from your Mapbox accountabove a monthly free quota
No map––

The preselected provider is whichever one has credentials on file for your website: if a Google Maps browser key is present, that’s Google Maps; otherwise MapLibre — the only provider that draws without credentials. As soon as you select something here yourself, your choice takes over. With No map, WP-ImmoMakler doesn’t draw a map anywhere — neither above the list view nor in the detail view, where a link to Google Maps is shown instead.

Markers, grouping (clustering), the preview when a marker is clicked, and filtering the overview work the same way with all four providers. Differences only exist where a service is technically unable to do something — settings the chosen provider cannot implement simply aren’t offered in the first place.

MapLibre, MapTiler and Mapbox all draw vector maps using the same program library that WP-ImmoMakler ships — so no program code is loaded from third-party servers when the map is built; only the map style and its tiles come from the respective provider.

The browser draws vector maps with the WebGL graphics interface; MapLibre and MapTiler require WebGL 2 for this, which all current browsers offer. If it isn’t available — for example because a privacy browser disables WebGL — the map shows its preview image instead of the interactive view.

Example: the same map with different base maps

Section titled “Example: the same map with different base maps”

Here is what the same property in Berlin looks like depending on the chosen base map:

Mapbox

The same map with Mapbox as the base map

OpenFreeMap

The same map with MapLibre and the OpenFreeMap style as the base map

basemap.de

The same map with MapLibre and basemap.de as the base map

OpenStreetMap

The same map with OpenStreetMap map data as the base map

MapTiler

The same map with MapTiler as the base map

All four providers draw the same markers and can do the same things — they differ in what they cost, how reliably they’re available, and which area they cover. These are the providers’ own terms and can change; the terms currently in effect are shown in your account with the provider.

If …then
You broker exclusively in Germany and want to do without an accountMapLibre with basemap.de. It only covers Germany; outside it, the area stays neutrally coloured.
Your website gets a lot of traffic and the map needs to be reliably availablea provider with a service contract: MapTiler, Mapbox, or Google Maps.
You also broker outside Germany and don’t want an accountMapLibre with one of the OpenFreeMap styles — with the caveat below.
You already use a Google billing accountGoogle Maps. It’s the only provider that offers postcode area highlighting.

On cost. MapLibre with basemap.de needs neither an account nor a key. Google Maps, MapTiler, and Mapbox charge for map calls above a monthly free quota; with typical traffic it usually stays within that quota, but the tariff in your account is what’s binding. WP-ImmoMakler helps keep usage low: if a visitor filters the search results, the map isn’t reloaded — only the markers are swapped out — so a search with several filter steps only uses up a single map build.

On reliability. OpenFreeMap and OpenStreetMap’s tile servers are funded by donations and make no availability guarantees; OpenStreetMap’s tile servers are explicitly not intended for commercial websites. This also affects the default: without credentials on file, WP-ImmoMakler draws with MapLibre and OpenFreeMap, because that shows something everywhere without requiring you to set anything up. For an estate agent’s website, where the map needs to stay up even on a busy Monday morning, basemap.de or a provider with a service contract is the calmer choice.

On privacy. Which service receives your visitors’ data depends solely on which one you choose here — the map loads its tiles directly from that provider. The consent notice above the map names it and links to its privacy policy, and consent is obtained separately per provider. Details in GDPR and privacy.

MapLibre requires no account, no key, and no cost. By default it draws with OpenFreeMap Liberty, which draws worldwide from OpenStreetMap data — the default, because it needs to show something wherever your properties are located. If you broker exclusively in Germany, basemap.de is the better map: the official map service of the German surveying authorities, also without a key.

Under MapLibre map style you choose which style is drawn:

Map styleCoverageNote
OpenStreetMap / OpenFreeMap Libertyworldwidedefault, see warning below
OpenStreetMap / OpenFreeMap Brightworldwidebrighter, higher-contrast variant
OpenStreetMap / OpenFreeMap Positronworldwidelight, low-contrast map
basemap.deGermanyofficial German map
basemap.de greyscaleGermanythe same map in grey
basemap.de topographyGermanywith terrain relief
Custom style URL—for your own style document

If the chosen style only covers Germany, the area outside it stays neutrally coloured rather than transparent.

MapLibre map with basemap.de as the base map and property markers

MapTiler is a Swiss provider that works with OpenStreetMap data. You need a key from your MapTiler account; it is entered in the backend of your website (wp-admin) under WP-ImmoMakler → Integrations → Geo Services and applies to the geo services there as well — so you only enter it once.

Under MapTiler map style you can choose between Streets, Base (plain), Outdoor (terrain), Satellite, and Satellite with labels; under Custom style URL you can provide a style you designed yourself in your MapTiler account.

Mapbox requires a Mapbox access token from your Mapbox account (starts with pk.). You enter it in the backend of your website (wp-admin) under WP-ImmoMakler → Integrations → Geo Services, alongside the other credentials.

Under Mapbox map style you can choose from Mapbox’s default styles: Streets, Standard (3D), Outdoors, Light, Dark, Satellite, Satellite with labels, and Standard Satellite (3D). Under Custom style URL you can provide a custom style designed in Mapbox Studio.

You can colour the map without your markers being coloured along with it — the markers, their labels, and the preview popups always keep their own colours. Especially on a decluttered map, the markers stand out clearly as a result. This applies to all four map providers.

ColouringEffect
Original (colour)map unchanged (default)
Greyscalefully desaturated
Mutedcolours toned down but still legible
Lightenedbrighter and slightly desaturated
High contraststronger colours and contrasts

For a dark map, choose a dark map style. Inverting a vector map would also invert its labels and make them unreadable, which is why there is no colouring option for that.

The path there differs by provider, but not the result: MapLibre, MapTiler and Mapbox colour the layers of their map style, Google Maps the map surface itself. With Google, the markers sit on top as separate elements and therefore stay in colour as well.

The same map in the Original, Greyscale, and Muted colourings side by side; the markers keep their colour in all three

With MapLibre, MapTiler and Mapbox, the map can optionally draw no place, street, or POI names at all — only areas, paths, and bodies of water. On such a decluttered map, your properties stand out more clearly. With Google Maps the labels are baked into the map image, so this setting is not available there.

The settings in the Customizer apply to your entire website. Individual maps can deviate from that: the page builders’ map elements and the [immomakler-map] shortcode each bring the same map settings once more.

That way, the map on your homepage can be tall and colourful while the one in the sidebar is flat and grey — or a single map can use MapLibre while the rest of your website stays on Google Maps.

You will find the settings in these elements:

Page builderList view mapDetail view map
Block Editor (Gutenberg)Block Property mapBlock Property surroundings map
ElementorWidget Real estate map list viewWidget Area map of individual property
Divi 5Module WP-ImmoMakler Map Property ListModule WP-ImmoMakler location map
Divi 4—Module WP-ImmoMakler location map
Bricks—Element Neighborhood map
OxygenElement Real estate map—
WPBakery—Element Property: Location map

Where a dash is shown, the page builder doesn’t bring its own element for that map. There you embed the list view map with the [immomakler-map] shortcode, or enable the map view of the search results (see below), which appears above the list view without an element of its own. The detail view map is part of the detail view and appears there without an element of its own.

Every one of these settings is set to Inherit from Customizer. As long as you don’t change anything, the central setting applies — and continues to apply even if you adjust it later. Your existing maps therefore look unchanged after an update.

For the shortcode, you specify the settings as attributes:

[immomakler-map map_engine="maplibre" map_tile_filter="grayscale" map_maxzoom="9"]

Four options control whether and how the map appears above the list view.

  • Map view of the search results: Enables the map above the property list view. Disabled by default.
  • Restrict search results to map viewport: When a visitor moves or zooms the map, the list below only shows the properties within the visible map viewport. Disabled by default. See Search within the map viewport for details.
  • Map view of the search results also on mobile: When the map is enabled, it is shown by default on small smartphone-sized displays as well. Disable this option if you only want to show the map on larger screens — please check the actual usability on a smartphone beforehand.
  • Map height in px (list view): How tall the map should be displayed above the list view. Set “0” to control the height via your own CSS instead.

With the Restrict search results to map viewport option, the list of search results follows the map: as soon as a visitor moves the map or zooms in or out, the list only shows the properties that lie within the visible viewport. The search form itself remains unchanged and still usable.

  • The map still shows all matches. Only the list is narrowed down, so visitors can always pan back to properties outside the viewport.
  • Filters apply within the chosen viewport. If a visitor changes the search form, the map stays where it is and shows the markers of the new matches; the list shows the new matches within the viewport. The search button also only counts the matches within the viewport.
  • “Reset search” lifts the restriction. The map then centers on all matches again, and the list shows all of them.
  • Only visitor movements count. When the page loads, the map centers on the matches without narrowing the list.
  • Paging stays within the viewport. Page numbers and lazily loaded pages only show properties from the current viewport.
  • Properties without coordinates have no place on the map and therefore no longer appear in the list once it’s narrowed down.

Narrowing the list requires the search results to be reloaded via AJAX: in the backend of your website (wp-admin), enable the Automatically reload search result option under WP-ImmoMakler → Customizer → WP-ImmoMakler → Search (see Configuring the Search Form). The setting applies to the whole website and cannot be overridden per map.

WP-ImmoMakler draws the map on a property’s detail page using the map provider chosen above. There is also the Google Maps Embed map — the simple map view Google delivers without an API key. Two settings in the backend of your website (wp-admin) under WP-ImmoMakler → Integrations → Maps determine when it is used:

  • Google Maps Embed map as a fallback in the detail view (default: enabled): Steps in when no map of its own can be drawn — for example because credentials are missing for the chosen map provider, or the property has no coordinates. Disable this option if you’d rather show no map at all in that case.
  • Always use Google Maps Embed map in the detail view (default: disabled): Always shows the embed map in the detail view, regardless of the chosen map provider. Useful if your map calls are pushing you into your provider’s paid tier.
The two settings for the Google Maps Embed map on the Maps tab

The embed map needs no API key and isn’t billed per call. In exchange, it can’t be styled: colouring, marker colour, zoom levels, and controls have no effect on it. Your visitors’ data goes to Google — though, if the consent blocker is enabled, only after they have given their consent.

The map view of the search results is unaffected by either setting.

The appearance and behaviour of the map markers.

  • Map marker colour: The colour in which the individual markers appear on the map. Default colour #134061.
  • Custom map marker colours for each status: When enabled, the markers are coloured according to the property’s status (e.g. custom colours for “sold/let” and “reserved”, matching the values configured under Customizer → Colours → Status colours).
  • Highlight postcode areas: When enabled, the postcode areas of the search results are colour-highlighted on the map — but only if no exact address is available for the respective property. For precise addresses, the individual marker is shown instead. This highlighting is only offered by Google Maps.
  • Determine radius per property: When enabled (default), the size of the circle is based on the respective property instead of a fixed value. More on this in the section Radius for approximate location.
  • Radius for approximate location (km): Radius of the semi-transparent circle that the map draws around the marker of a property without an exact address. Default 3, range 0–50; decimal places are allowed, for example 0.5 for 500 metres. The value “0” draws no circle. When per-property determination is enabled, this value only applies to properties whose radius isn’t known yet.
  • Draw radius with outline: When enabled (default), the circle gets a thin line in your marker colour. Without it, the area blends more softly into the map — calmer, especially where several circles sit next to each other.
  • Radius also in the map view of the search results: When enabled, the radius is also drawn above the search results — a circle of its own around every property without an exact address. Disabled by default.
Map with markers differentiated by colour according to status: a reserved property in orange next to markers in the default colour

If your CRM software doesn’t supply a house number for a property, WP-ImmoMakler only knows the place or the postcode area. The marker then stands in for that area rather than for an address. To make this visible to your visitors, the map on the detail page draws a semi-transparent circle around the marker — in the colour of your markers and with the radius you set under Radius for approximate location (km).

The circle is a real area on the map, not a fixed number of pixels: as you zoom in, it grows with the area it covers. It is drawn by all four map providers. The detail map also opens zoomed out far enough that the circle is fully visible — regardless of which radius you’ve set.

Postcode areas vary greatly in size. Of Germany’s roughly 8,200 areas, the median measures about 3 km in radius, and the middle half falls between 2 and 5 km — but inner-city areas are considerably smaller: Frankfurt’s Bahnhofsviertel, for example, comes in at around 650 metres. A single value for all properties would therefore either be too wide in the city or too narrow in rural areas.

That’s why, by default, WP-ImmoMakler determines the size per property (setting Determine radius per property), using the best available source.

Your CRM software comes first. If a CRM software withholds the address, it knows how far it has shifted the property to do so, and supplies this radius along with it — JustImmo, for example, does this for every property without a published street. This figure is more precise than anything that can be estimated after the fact, and therefore takes priority.

If no such figure is available, WP-ImmoMakler derives the size from the actual postcode area of the property. The area is determined when the property is saved, via the service configured under WP-ImmoMakler → Integrations → Geo Services; existing properties are backfilled gradually by WP-ImmoMakler in the background. The circle drawn covers the same surface area as the postcode area — so an elongated area and a compact area of equal size produce the same circle.

As long as neither a figure from the CRM software nor the postcode area is known for a property, the fixed value from Radius for approximate location (km) applies to it (default 3 km). The same value applies to all properties if you turn per-property determination off.

Detail map whose radius is derived from the actual postcode area: around 650 metres in Frankfurt's Bahnhofsviertel

Zoomed far out, the circle stays hidden. As long as it would be barely larger on screen than the marker at its centre, it would look like a shadow on the marker rather than an area around it — so the map shows only the marker and fades the circle in once you zoom in. Each property decides for itself at which zoom level that happens, depending on its own radius: a 5 km area becomes visible much sooner than a 500 m one.

No circle appears for properties with an exact address.

In the map view of the search results, the radius stays off at first, because the circles of several nearby properties would otherwise overlap. The setting Radius also in the map view of the search results switches it on there; a circle of its own, with the same radius, is then drawn around every property without an exact address. This also applies to properties grouped into a cluster — their circles then sit beneath the shared marker. Since the circles are hidden anyway when zoomed far out (see above), this is mainly noticeable when zooming in.

If the postcode area highlighting (see above) is used instead, the circle steps back: the map then draws only that area and zooms out far enough to show the whole area. Two statements about the same approximate location side by side would read as two different claims. The highlighting requires Google Maps and a map ID for which the feature is enabled; if it isn’t, the circle appears instead. See Creating a Google Maps map ID for how to create one.

The same property with the postcode area highlighted instead of the radius: the map draws the area's actual shape and frames it completely

WP-ImmoMakler reads whether a position is exact from the house number: if it’s missing, the location counts as approximate. That’s the right assumption for CRM software that withholds the address and shifts the property to the middle of the place or the postcode area instead. But it also applies where the coordinates are correct and only the address itself has no house number — for fincas, plots of land, or island properties in Spain, that’s the normal case. Such properties then appear on the map with a radius and the note “The displayed property location is approximate”, even though the marker itself sits in the right place.

Since WP-ImmoMakler can’t detect the accuracy of a coordinate on its own, you vouch for it via code. The filter immomakler_map_position_is_exact receives the default assumption, the property’s ID, and whether the secret address currently applies; it takes effect on the detail map, in the map view of the search results, on the map in the PDF exposé, and when highlighting postcode areas — which is then no longer determined for these properties.

// Show Spanish properties without a house number with an exact marker.
add_filter( 'immomakler_map_position_is_exact', function ( bool $exact, int $post_id ): bool {
if ( 'ESP' === get_post_meta( $post_id, 'iso_land', true ) ) {
return true;
}
return $exact;
}, 10, 2 );

Only vouch for properties whose coordinates your CRM software actually transmits exactly: the map zooms in on a vouched-for property as closely as it would for an address, and the approximate-location note no longer appears. The map view of the search results caches its markers until the next import, an hour at the latest; it may take that long after adding the filter before they appear there without a radius.

How far you may zoom in and how aggressively nearby markers are combined into clusters.

  • Maximum zoom level: How far the map may be zoomed in. Default 15, maximum 21. Higher values allow deeper zooming.
  • Cluster radius (px): Determines how strongly markers are combined into clusters. A larger value means that markers further apart are still combined. Default 200, range 0–500. The value “0” disables clustering completely.

The number on a cluster counts properties, not markers: if a marker represents a multi-family building with several units, all units are counted. Clicking a cluster zooms into it until it resolves into individual markers.

The same map with cluster radius 200 and 30: at the larger value a single cluster combines all properties, at the smaller one it breaks apart into several regional clusters

Which controls are displayed within the map.

  • Show zoom buttons ”+/−”: The buttons for zooming in and out. Enabled by default.

  • Show scale button ”<^>”: Scale bar or arrow buttons for panning and zooming. Enabled by default.

  • Show Street View: The “Street View pegman” that can be dragged onto a street. Enabled by default. Street View is only offered by Google Maps.

  • Show fullscreen button: The button for the fullscreen view of the map. Enabled by default.

  • Map type selector: Choice of how the map type switcher (road map/satellite/hybrid/terrain) is offered to the user:

    ValueDescription
    automatic by map sizeThe provider chooses between buttons and dropdown itself, depending on the available space (default).
    ButtonsHorizontal button bar at the top left.
    DropdownCompact dropdown menu.
    do not showThe map type selector is hidden completely.

The basic look of the map.

  • Map type: Which default view is shown when the map loads. This selector belongs to Google Maps — the other providers determine their look via their map style instead, see the table below.

    ValueDescription
    Road mapClassic road map view (default).
    Satellite viewSatellite image without street overlay.
    Satellite view with road mapSatellite image with overlaid street names (“hybrid”).
    Terrain viewTopographic view with contour lines.
  • Map style (MapLibre, MapTiler, Mapbox): For the other three providers, a dedicated style selector takes the place of the map type. It only appears in the Customizer for the provider that is currently selected:

    ProviderStyles
    MapLibreOpenStreetMap / OpenFreeMap Liberty, OpenFreeMap Bright, OpenFreeMap Positron, basemap.de, basemap.de greyscale, basemap.de topography
    MapTilerMapTiler Streets, Base (plain), Outdoor (terrain), Satellite, Satellite with labels
    MapboxMapbox Streets, Standard (3D), Outdoors (terrain), Light (bright, low contrast), Dark, Satellite, Satellite with labels, Standard Satellite (3D)

    Each of the three also offers Custom style URL for a self-designed style document. Which styles offer which coverage, and what to watch out for, is described above under MapLibre without an account, MapTiler, and Mapbox.

  • Custom map style (note): Explains, for the chosen map provider, the appropriate path to a custom style. With Google Maps it links directly to the Google Cloud Console and to WP-ImmoMakler → Settings → Google Services, where you can store a map ID created in the Cloud Console (guide). Since 2024, Google manages custom Google map styles exclusively in the cloud.

The Maps section in the Customizer with the options for map provider, map style, and map view of the search results
  • Show places in map preview: When enabled, the static preview map with place names is shown in the WP-ImmoMakler consent box. Disabled by default — the preview then appears without place labels, which is more privacy-friendly.
  • Show WP-ImmoMakler notice: Shows a small “WP-ImmoMakler for real estate websites” notice at the bottom edge of the map. Enabled by default; can also be controlled globally via the filter immomakler_show_backlinks.

Several aspects of the map display can be customised via filter hooks — such as disabling clustering completely, overriding the default zoom level, the list of base layers (immomakler_map_tile_providers), the colourings (immomakler_map_tile_filters), or the chosen provider (immomakler_map_engine). See Hooks: Maps for the full list.

The map is rendered in its own <iframe>, not inline in the list view — therefore all the settings above work independently of the surrounding theme and the page builder in use. As soon as the map has loaded, it announces itself with the immomakler-map:ready event, whose detail.api provides all of the map’s methods (setMarkers, fitBounds, openPopup and more) — regardless of which provider is drawing.