Я использую react-native-maps
но столкнулся с проблемой, которая после долгих поисков без ответа заставляет меня спросить об этом здесь. Я пытаюсь использовать пользовательский маркер для маркера на карте, как показано на следующем рисунке.
-
когда я искал, я обнаружил, что необходимо использовать Custom Marker для выполнения дизайна производителя, затем я создал компонент Custom Marker
import React, { Component } from "react"; import { View } from "react-native"; import { Text, Left, Right, Thumbnail, } from "native-base"; const defaultEmployeeLogo = require("../../../assets/defualtEmployee.png"); class CustomMarker extends Component { render() { return ( <View style={{ flexDirection: 'row', width: 140, height: 60, borderRadius: 70, backgroundColor: 'orange' }}> <Left> <Thumbnail source={defaultEmployeeLogo} /> </Left> <Right> <Text style={{ color: '#fef', fontSize: 13, paddingBottom: 2, fontFamily: 'Roboto', alignItems: 'center', paddingRight: 10 }}>Mohammad</Text> </Right></View >); } } export default CustomMarker;
когда я использую только класс CustomMarker.js, он работает нормально и показывает изображение, но когда я использую его как пользовательский вид маркера, он не показывает изображение
Я не знаю, почему он не может отрисовать изображение с помощью пользовательского маркера в Android. и вот мой код, где я использую карту, маркеры и пользовательский класс маркеров
return (
<View style={styles.map_container}>
<MapView
style={styles.map}
customMapStyle={customrMapStyle}
region={{
latitude: this.state.region.latitude,
longitude: this.state.region.longitude,
latitudeDelta: 0.4,
longitudeDelta: 0.41,
}} >
{
coordinationData.map(function (marker, i) {
let lat = marker.latLang.latitude;
let lang = marker.latLang.longitude;
<MapView.Marker
key={i}
coordinate={
{
latitude: lat,
longitude: lang,
latitudeDelta: 0.4,
longitudeDelta: 0.41
}
}
title={marker.title}
description={marker.description}
>
<CustomMarker />
</MapView.Marker>
})}
</MapView>
</View>
любая помощь будет оценена.