-
Notifications
You must be signed in to change notification settings - Fork 75
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added new kb article map-custom-image
- Loading branch information
KB Bot
committed
Dec 9, 2024
1 parent
eeed674
commit 19dcfda
Showing
1 changed file
with
97 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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%}) |