أحمد عبد الله2 نشر 15 يونيو 2021 أرسل تقرير نشر 15 يونيو 2021 انا استطيع فتح الخريطة ووضع الماركر عليها ولكنى الان اريد ان احرك الماركر واضعه فى المكان الذى قمت بالضغط عليه فى الخريطة .. كيف افعل ذلك ؟؟ هذا هو الكود import React from 'react'; import {StyleSheet, View, Text, Image, Button} from 'react-native'; import MapView, {Callout, Marker} from 'react-native-maps'; const BasicMapViewEX = () => { const region = { latitude: 37.78825, longitude: -122.4324, latitudeDelta: 0.015, longitudeDelta: 0.0121, }; const [Location, setLocation] = React.useState(region); const [MarkerLocation, setMarkerLocation] = React.useState(region); function handleRegionChange(region) { setLocation(region); setMarkerLocation(region); } return ( <View> <MapView onRegionChangeComplete={handleRegionChange} initialRegion={region} style={styles.map} region={Location}> <Marker coordinate={MarkerLocation} image={require('./map_marker.png')} style={styles.image} // title="my location" // description="here am i" > <Callout tooltip> <View> <View style={styles.bubble}> <Text style={styles.name}>"my location"</Text> <Text style={styles}>Desc</Text> <Image style={styles.image} height={120} width={80} source={require('./map_marker.png')} /> </View> <View style={styles.arrowBorder} /> <View style={styles.arrow} /> </View> </Callout> </Marker> </MapView> </View> ); }; const styles = StyleSheet.create({ map: { height: '100%', }, bubble: { flexDirection: 'column', alignSelf: 'flex-start', backgroundColor: '#fff', borderRadius: 6, borderColor: '#ccc', borderWidth: 0.5, padding: 15, width: 150, }, arrow: { backgroundColor: 'transparent', borderColor: 'transparent', borderTopColor: '#fff', borderWidth: 16, alignSelf: 'center', marginTop: -32, }, arrowBorder: { backgroundColor: 'transparent', borderColor: 'transparent', borderTopColor: '#007a87', borderWidth: 16, alignSelf: 'center', marginTop: -0.5, }, name: { fontSize: 16, marginBottom: 5, }, image: { width: 120, height: 80, backgroundColor: 'red', }, }); export default BasicMapViewEX; 1 اقتباس
0 Nuhla Almasri نشر 15 يونيو 2021 أرسل تقرير نشر 15 يونيو 2021 ما عليك سوى جعل الماركر Draggable كالتالي var marker = new google.maps.Marker({ position: myLatlng, map: map, draggable:true, title:"Drag me!" }); و من هنا يمكنك أضافة EventListener للعلامة يقوم مثلا بطباعة القيمة كالتالي marker.addListener('dragged', printMarkerLocation); function printMarkerLocation(){ console.log('Lat: ' + marker.position.lat() + ' Lng:' + marker.position.lng() );} اقتباس
السؤال
أحمد عبد الله2
انا استطيع فتح الخريطة ووضع الماركر عليها ولكنى الان اريد ان احرك الماركر واضعه فى المكان الذى قمت بالضغط عليه فى الخريطة .. كيف افعل ذلك ؟؟
هذا هو الكود
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.