Android - รับพิกัดเวย์พอยท์จาก Google Maps webview

ฉันกำลังสร้างแอป Android ซึ่งจะโหลด Google Map ไปยัง WebView กว่าที่ผู้ใช้จะสามารถสร้างเส้นทางของตนเองได้โดยการคลิก (กำหนดจุดอ้างอิง) บนแผนที่ Google รองรับมากถึง 8 เวย์พอยท์

คำถามของฉันคือ ฉันจะจัดการกับ "เหตุการณ์การคลิก" จากแผนที่ (ตั้งค่าเวย์พอยท์) และรับ [lat, lon] ของเวย์พอยท์นี้ได้อย่างไร เป้าหมายคือการจัดเก็บจุดอ้างอิงที่ถูกคลิกในอาร์เรย์

จนถึงตอนนี้ ฉันไม่พบบทช่วยสอนใด ๆ ที่แสดงให้เห็นว่าคุณสามารถเพิ่มจุดอ้างอิงหลายจุดลงใน Google Maps จาก WebView ได้อย่างไร




คำตอบ (1)


สิ่งที่คุณสามารถทำได้คือเปิดใช้งานตัวฟังการคลิกโดยใช้ OnMapClickListener เมื่อผู้ใช้คลิก (แตะ) ที่ใดที่หนึ่งบนแผนที่ คุณจะได้รับเหตุการณ์ onMapClick(LatLng) ที่ระบุตำแหน่งบนแผนที่ที่ผู้ใช้คลิก

ตอนนี้ก็ขึ้นอยู่กับคุณแล้วที่จะจัดเก็บค่า LatLng ที่เหตุการณ์ส่งคืน นี่เป็นตัวอย่างจาก Google ตัวอย่าง:

   @Override
    public void onMapReady(GoogleMap map) {
        mMap = map;
        mMap.setOnMapClickListener(this);
        mMap.setOnMapLongClickListener(this);
        mMap.setOnCameraIdleListener(this);
    }
    //'point' holds the value of LatLng coordinates
    @Override
    public void onMapClick(LatLng point) {
        mTapTextView.setText("tapped, point=" + point);
    }

นี่คือเวอร์ชันใน Javascript

function initMap() {
  var myLatlng = {lat: -25.363, lng: 131.044};

  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 4,
    center: myLatlng
  });

  map.addListener('click', function(e) {
     console.log("clicked at  " + e.latLng);
  });
}

ในการสาธิตซอที่เรียบง่ายนี้ หากคุณคลิกบนแผนที่และตรวจสอบบันทึกของคอนโซล คุณจะเห็น พิกัดที่แน่นอนของเหตุการณ์ที่เกิดขึ้น ดังนั้น หากย้อนกลับไปที่สถานการณ์ของคุณ หากคุณคลิกที่เวย์พอยท์ คุณจะรู้ว่ามันอยู่ที่ไหน

person noogui    schedule 15.08.2016
comment
ขอบคุณ คำตอบของคุณถูกต้องในกรณีที่ฉันจะใช้ GoogleMaps API สำหรับ Android แต่เป้าหมายของฉันคือการใช้ Google Maps ใน WebView สิ่งที่คล้ายกับลิงก์นี้ การสร้างเส้นทางที่กำหนดเองโดยการเพิ่มจุดอ้างอิงลงในแผนที่ - person user3844748; 16.08.2016
comment
แท็ก Android ของคุณทำให้ฉันสับสน โอเค ฉันจะสร้างตัวอย่าง Javascript สำหรับ WebView ให้คุณ - person noogui; 16.08.2016