ReactNativeアプリで地図機能を実装するならreact-native-maps一択だと思います。 さらに細かく情報をプロットしていくならMakerコンポーネントは必須ですが、カスタムするにはスタイル周りを学習する必要があります。 今回は、コピペで動くそれっぽいMakerをご紹介します。
react-native@0.63.1
react-native-maps@0.27.1
native-base@2.13.14
※native-base
はアイコン表示のために使用しているだけなので、アイコンの中身を文字にしたい場合は不要です。
import React from 'react';
import {Marker} from 'react-native-maps';
import {Icon, View} from 'native-base';
// サンプルマーカー
const SampleMarker = () => {
return (
<Marker
coordinate={{
latitude: 34.971698,
longitude: 138.3890637,
}}>
<View style={{justifyContent: 'center'}}>
<View
style={{
top: 2,
width: 38,
height: 38,
alignSelf: 'center',
justifyContent: 'center',
borderRadius: 38 / 2,
backgroundColor: '#36C1A7',
}}>
<Icon
type="FontAwesome5"
name="utensils"
style={{
color: '#FFF',
textAlign: 'center',
fontSize: 20,
}}
/>
</View>
<View
style={{
top: -2,
width: 0,
height: 0,
alignSelf: 'center',
backgroundColor: 'transparent',
borderLeftWidth: 10,
borderRightWidth: 10,
borderTopWidth: 20,
borderBottomWidth: 0,
borderTopColor: '#36C1A7',
borderLeftColor: 'transparent',
borderRightColor: 'transparent',
}}
/>
</View>
</Marker>
);
};
export default SampleMarker;
今回はreact-native-maps
で表示するカスタムマーカーについて、コピペ実装できるデザインのものをご紹介しました。
もちろん動的にプロットする場合はprops
に緯度経度等の情報を渡す必要があります。
そのあたりはご自身のソースコードに合わせてカスタマイズしてみてください。