t×tecexpressby TeKOcloud
DEv0.7.1
Files & maps / VUE

TxMap.

Interactive preview

Demo: Synthetic local example tiles, no real geographic data.

Map with pan/zoom, markers and route lines. Without tileUrl the background is neutral; the application configures sources and attribution.

PropTypeDefaultMeaning
centerTxCoordinate | undefined{"lat":52.52,"lng":13.405}Geographic map center.
zoomnumber | undefined5Map zoom level.
minZoomnumber | undefined1Minimum zoom level.
maxZoomnumber | undefined19Maximum zoom level.
tileUrlstring | undefinedundefinedTile URL with {z}/{x}/{y} placeholders.
attributionstring | undefinedundefinedMap provider attribution/license text.
widthnumber | undefined640Width; Vue numbers use pixels, Flutter uses logical pixels.
heightnumber | undefined360Height; Vue numbers use pixels, Flutter uses logical pixels.
dataSourceTxSource<TxMapMarker> | undefinedundefinedList, configuration or DataSource instance; takes precedence over items.
markersTxMapMarker[] | undefined[]Map markers to display.
routesTxMapRoute[] | undefined[]Route lines to display.
routeDataSourceTxSource<TxMapRoute> | undefinedundefinedSeparate data source for route lines.
disabledboolean | undefinedfalseDisables interaction.

Events

EventPayload / behavior
update:centerNew center value; accept using v-model:center (modelValue: v-model).
update:zoomNew zoom value; accept using v-model:zoom (modelValue: v-model).
markerClickActivated TxMapMarker.
tileErrorFailed tile as { x, y, zoom }.
vue
<script setup lang="ts">
import { TxMap } from '@tekocloud.de/tecexpress'
import '@tekocloud.de/tecexpress/themes/index.css'

</script>

<template>
  <TxMap tile-url="/tiles/demo.png?z={z}&x={x}&y={y}" attribution="tecexpress · Synthetic demo tiles" :markers="[{ id: 1, lat: 52.52, lng: 13.405, text: 'Berlin' }]" />
</template>