Skip to content

Commit

Permalink
Added new kb article map-custom-image
Browse files Browse the repository at this point in the history
  • Loading branch information
KB Bot committed Dec 9, 2024
1 parent eeed674 commit 19dcfda
Showing 1 changed file with 97 additions and 0 deletions.
97 changes: 97 additions & 0 deletions knowledge-base/map-custom-image.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
title: Use a Custom Image as a Map in the Map Component
description: Learn how to integrate a custom image with the Blazor Map component for displaying markers on static images, such as building layouts.
type: how-to
page_title: How to Use a Custom Image with Blazor Map for Marker Placement
slug: map-kb-custom-image
tags: map, blazor, custom, image, markers
res_type: kb
ticketid: 1652767
---

## Environment

<table>
<tbody>
<tr>
<td>Product</td>
<td>Map for Blazor</td>
</tr>
</tbody>
</table>

## Description

This knowledge base article answers the following questions:

- How can I set a background image for the Blazor Map component?
- Is it possible to overlay markers on a static image in Blazor Map?
- Can I use a custom floor plan as a map in Blazor?

## Solution

The solution depends on whether you want to show a static Map or if you want to support panning and zooming functionalities. This knowledge base shows the first option:

* [Static Map](#static-map)
* [Pannable and Zoomable Map](#pannable-and-zoomable-map)

### Static Map

This method is ideal when using the Map in a static context without the need for dynamic panning and zooming. In this case, you may use CSS to target the wrapping element of the component and set your image as a background image.

>caption Use custom image as a map
````CSHTML
<style>
.custom-map{
background-image: url(https://d585tldpucybw.cloudfront.net/sfimages/default-source/productsimages/telerik-ui-for-blazor/blazor-header-ninja.svg?sfvrsn=41f12bb3_3);
position: relative;
}
.custom-map .k-map-controls{
display:none;
}
</style>
<TelerikMap Class="custom-map" Zoomable="false" Pannable="false" Width="515px" Height="440px">
<MapLayers>
<MapLayer Type="@MapLayersType.Marker"
Data="@MarkerData"
LocationField="@nameof(MarkerModel.LatLng)"
TitleField="@nameof(MarkerModel.Title)">
</MapLayer>
</MapLayers>
</TelerikMap>
@code {
public List<MarkerModel> MarkerData { get; set; } = new List<MarkerModel>()
{
new MarkerModel()
{
LatLng = new double[] {-15.014573802798589, -36.825833916664131 },
Title = "Marker 1"
},
new MarkerModel()
{
LatLng = new double[] {28.85837817460806, 25.92807233333588 },
Title = "Marker 2"
}
};
public class MarkerModel
{
public double[] LatLng { get; set; }
public string Title { get; set; }
}
}
````

### Pannable and Zoomable Map

If you want to support panning and zooming the custom image in the Map, you will need to mimic the default Map behavior targeting the [Tile layer]({%slug components/map/layers/tile%}). For that purpose, divide your image into small pieces - separate images that build up the whole picture and serve them to the Map as tiles following the Tile layer specifics.

## See Also

* [Map Overview]({%slug %})
* [Markers in Map for Blazor]({%slug components/map/layers/marker%})
* [Tile Layer in Map for Blazor]({%slug components/map/layers/tile%})

0 comments on commit 19dcfda

Please sign in to comment.