سؤال

أريد إعداد طريقة يمكن للمستخدمين من خلالها وضع علامة على الخريطة لإخبار عنوانهم ويجب أن أكون قادرًا على استخراج LAT و Long وتخزينها في قاعدة البيانات.

هل يوجد مكون إضافي لشراء أوكيندا يمكنني تعديله واستخدامه؟

هل كانت مفيدة؟

المحلول

قم أولاً بإنشاء وظيفة تقبل كائن latlng. ستضيف هذه الوظيفة المعلومات إلى قاعدة البيانات الخاصة بك ثم إضافة العلامة إذا كانت ناجحة.

function addRestaurant( latlng ) {
    lat = latlng.lat;
    lng = latlng.lng;
    //Code to add restaurant
    if ( dbase_successful ) {
        var marker = new google.maps.Marker({
         position: latlng,
         title: "Some text"
            map: map //make your map global
        });
    }
}

ثم أضف مستمع حدث على حدث النقر للخريطة التي تستدعي الوظيفة التي أنشأتها للتو. أضف هذا إلى رمز تهيئة الخريطة.

google.maps.event.addListener(map, 'click', function(event) { addRestaurant( event.latlng ) } );

الآن عند النقر على خريطتك ، سيتم استدعاء Add_Restaurant مع Latlng لحدث النقر على الخريطة.

نصائح أخرى

ربما هذا ما تبحث عنه:

أنا أستخدم JavaScript لهذا.

هنا قمت بتعيين علامة من العنوان.

var address= "denmark Århus";
  geocoder.getLatLng(
                  address,
                  function(point) {
                    if (!point) {
                      alert(address + " not found");
                    } else {
                      map.setCenter(point, 14);
                      map.addOverlay(new GMarker(point, markerOptions));
                      }
                    }
                  ); 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top