GabrielTrettel
4 years ago
6 changed files with 4415 additions and 143 deletions
-
90src/app/components/MapMarker.js
-
1src/app/config/colors.js
-
5src/app/config/dimensions.js
-
6src/app/hooks/selectFromDB.js
-
3src/package.json
-
4453src/yarn.lock
@ -1,27 +1,95 @@ |
|||
import React from "react"; |
|||
import { View, StyleSheet, Image } from "react-native"; |
|||
import MapView from "react-native-maps"; |
|||
|
|||
import React, { useState } from "react"; |
|||
import { View, StyleSheet, Image, Text } from "react-native"; |
|||
import MapView, { Callout } from "react-native-maps"; |
|||
import colors from "../config/colors"; |
|||
import assets from "../config/assets"; |
|||
import { dimensions, screen_height, screen_width } from "../config/dimensions"; |
|||
import { Svg, Image as ImageSvg } from "react-native-svg"; |
|||
const markerSize = 30; |
|||
|
|||
export default function MapMarker({ title, image, coordinate, ...props }) { |
|||
// console.log({ title, image, coordinate, ...props });
|
|||
export default function MapMarker({ |
|||
title, |
|||
image, |
|||
pictures, |
|||
coordinate, |
|||
description, |
|||
...props |
|||
}) { |
|||
console.log(pictures); |
|||
const pictures_s = JSON.parse(pictures); |
|||
return ( |
|||
<MapView.Marker coordinate={coordinate} title={title} {...props}> |
|||
<MapView.Marker coordinate={coordinate} {...props}> |
|||
<View> |
|||
<Image style={styles.markerPoint} resizeMode="stretch" source={image} /> |
|||
</View> |
|||
<Callout tooltip style={{ width: 250 }}> |
|||
<View> |
|||
<Image style={styles.markerPoint} source={image} resizeMode="stretch" /> |
|||
<View style={styles.container}> |
|||
<Text style={styles.title}>{title}</Text> |
|||
<Text style={styles.description}>{description}</Text> |
|||
</View> |
|||
<View style={styles.arrow}></View> |
|||
</View> |
|||
</Callout> |
|||
</MapView.Marker> |
|||
); |
|||
} |
|||
|
|||
const styles = StyleSheet.create({ |
|||
title: { |
|||
fontWeight: "bold", |
|||
fontSize: dimensions.text.secondary, |
|||
alignSelf: "center", |
|||
paddingBottom: dimensions.spacing.minimal_padding, |
|||
}, |
|||
description: { |
|||
fontSize: dimensions.text.default, |
|||
}, |
|||
arrow: { |
|||
alignSelf: "center", |
|||
borderTopWidth: 15, |
|||
borderRightWidth: 10, |
|||
borderBottomWidth: 0, |
|||
borderLeftWidth: 10, |
|||
borderTopColor: colors.lightGray, |
|||
borderRightColor: "transparent", |
|||
borderBottomColor: "transparent", |
|||
borderLeftColor: "transparent", |
|||
paddingBottom: 5, |
|||
}, |
|||
|
|||
container: { |
|||
flexDirection: "column", |
|||
alignSelf: "center", |
|||
backgroundColor: colors.lightestGray, |
|||
borderColor: colors.lightGray, |
|||
borderRadius: 6, |
|||
borderWidth: 4, |
|||
borderTopWidth: 2, |
|||
padding: dimensions.spacing.minimal_padding, |
|||
width: 200, |
|||
}, |
|||
markerPoint: { |
|||
alignSelf: "center", |
|||
height: markerSize, |
|||
width: markerSize, |
|||
}, |
|||
title: { |
|||
fontWeight: "400", |
|||
}, |
|||
}); |
|||
|
|||
/* |
|||
* NOTE: Code for displaying images inside MapMarker. Leaved here for possible |
|||
* future needs |
|||
* |
|||
* |
|||
* {pictures_s.length > 0 && ( |
|||
* <Svg width={240} height={120}> |
|||
* <ImageSvg |
|||
* width={"100%"} |
|||
* height={"100%"} |
|||
* preserveAspectRatio="xMidYMid stretch" |
|||
* href={{ uri: pictures_s[0] }} |
|||
* /> |
|||
* </Svg> |
|||
* )} |
|||
* |
|||
*/ |
4453
src/yarn.lock
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save
Reference in new issue