الرد على أحداث السياق المحلية

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

إذا كان لديك تنسيق يجب تغييره عند عرض عرض تفاصيل المكان، فاستخدم أدوات معالجة الحدث placedetailsviewshowstart و placedetailsviewhidestart. في العينة أدناه، هناك ثلاثة مقاطعات تمت الإشارة إليها بمحددات مخصصة. عندما ينقر المستخدم على أحد علامات هذه المناطق، يتم فتح InfoWindow لوصف المنطقة. إذا نقر أحد المستخدمين على نقطة اهتمام عند فتح InfoWindow، فسيتم إغلاق InfoWindow عند ظهور عرض تفاصيل نقطة الاهتمام هذه وسيفتح مرة أخرى عندما يغلق المستخدم عرض تفاصيل المكان.

فهم الشفرة

إدارة InfoWindow باستخدام أحداث عرض تفاصيل المكان

عند فتح عرض تفاصيل المكان والاتصال بـ InfoWindow.close()، تتم إزالة InfoWindow المفتوح من DOM. لإنشاء تأثير "إعادة فتح" InfoWindow، يجب تخزين خصائص InfoWindow في متغير خارج DOM بحيث يمكنك إعادة إنشاء InfoWindow عندما تريد عرضه مرة أخرى. أفضل وقت لحفظ المعلومات في متغيّر مساحة التخزين هو إنشاء InfoWindow.

let infoStorage;

function createInfoWindow(district, marker) {
  // Build the content of the InfoWindow
  let contentDiv = document.createElement('div');
  ...

  // Create and open a new InfoWindow
  infoWindow = new google.maps.InfoWindow();
  infoWindow.setContent(contentDiv);
  infoWindow.open(map, marker);

  // Store key properties of the InfoWindow for future restoration
  infoStorage = {
    'district': district,
    'marker': marker,
  };
}

في وقت لاحق، عندما يتم إغلاق عرض تفاصيل المكان، يمكنك استدعاء وظيفة الإنشاء InfoWindow نفسها لإعادة إنشاء آخر InfoWindow كان مفتوحًا.

TypeScript

localContextMapView.addListener("placedetailsviewhidestart", () => {
  if (infoStorage) {
    createInfoWindow(infoStorage.district, infoStorage.marker);
  }
});

JavaScript

localContextMapView.addListener("placedetailsviewhidestart", () => {
  if (infoStorage) {
    createInfoWindow(infoStorage.district, infoStorage.marker);
  }
});

تحديث أصل الاتجاهات

نظرًا لوجود العديد من محددات المناطق على هذه الخريطة التي يمكن للمستخدم الاختيار من بينها، يتم تحديث أصل directionsOptions إلى آخر منطقة تم النقر عليها باستخدام هذه الأسطر في أداة معالجة النقرات على محدِّد الموقع. يوضح هذا أنه يمكن تحديث directionsOptions حتى بعد إعداد localContextMapView.

تجربة النموذج