بشكل افتراضي، تظهر نقاط الاهتمام على الخريطة الأساسية إلى جانب الأيقونات المقابلة. تشمل نقاط الاهتمام الحدائق والمدارس والمباني الحكومية أخرى.
بالإضافة إلى ذلك، تظهر نقاط الاهتمام لـ الأنشطة التجارية بشكل افتراضي على الخريطة عندما يكون نوع الخريطة
normal
تمثل نقاط الاهتمام الأنشطة التجارية كالمتاجر والمطاعم والفنادق
والمزيد. تظهر النقاط المهمة للنشاط التجاري على الخرائط الداخلية (مخططات الطوابق) فقط على
خريطة الوضع البسيط.
تتوافق نقطة الاهتمام مع رقم تعريف المكان، كما هو محدّد في حزمة تطوير برامج الأماكن لأجهزة Android على سبيل المثال، المتنزهات الترفيهية هي نقاط اهتمام، ولكن ينطبق ذلك بشكل عام على أماكن مثل نوافير المياه (ما لم تكن ذات أهمية وطنية أو تاريخية).
الاطّلاع على أحداث النقر على نقاط الاهتمام
إذا كنت تريد الرد على مستخدم ينقر على نقطة اهتمام، يمكنك استخدام
OnPoiClickListener
كما هو موضح في الرمز التالي
النموذج:
Kotlin
internal class OnPoiClickDemoActivity : AppCompatActivity(), OnMapReadyCallback, OnPoiClickListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.poi_click_demo) val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) } override fun onMapReady(map: GoogleMap) { map.setOnPoiClickListener(this) } override fun onPoiClick(poi: PointOfInterest) { Toast.makeText(this, """Clicked: ${poi.name} Place ID:${poi.placeId} Latitude:${poi.latLng.latitude} Longitude:${poi.latLng.longitude}""", Toast.LENGTH_SHORT ).show() } }
Java
class OnPoiClickDemoActivity extends AppCompatActivity implements OnMapReadyCallback, GoogleMap.OnPoiClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.poi_click_demo); SupportMapFragment mapFragment; mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); } @Override public void onMapReady(GoogleMap map) { map.setOnPoiClickListener(this); } @Override public void onPoiClick(PointOfInterest poi) { Toast.makeText(this, "Clicked: " + poi.name + "\nPlace ID:" + poi.placeId + "\nLatitude:" + poi.latLng.latitude + " Longitude:" + poi.latLng.longitude, Toast.LENGTH_SHORT).show(); } }
تظهر نقاط الاهتمام على الخريطة بشكل افتراضي، ولكن لا توجد واجهة مستخدم افتراضية عند النقر. أي، لا تعرض واجهة برمجة التطبيقات نافذة معلومات تلقائيًا أو أي مستخدم آخر واجهة المستخدم عندما ينقر المستخدم على نقطة اهتمام.
كما هو موضح أعلاه، يمكنك تعيين
OnPoiClickListener
على الخريطة من خلال
يتصل
GoogleMap.setOnPoiClickListener(OnPoiClickListener)
عندما ينقر مستخدم على نقطة اهتمام، يتلقّى تطبيقك
حدث OnPoiClick(PointOfInterest)
تشير إلى نقطة الاهتمام التي نقر عليها المستخدم. تشير رسالة الأشكال البيانية
يحتوي PointOfInterest
على إحداثيات خط العرض/خط الطول،
رقم تعريف المكان واسم نقطة الاهتمام.
إيقاف عرض النقاط المهمة على الخريطة
يمكنك إخفاء نقاط الاهتمام من خلال تطبيق أنماط مخصّصة على جميع نقاط الاهتمام أو على فئات معيّنة من نقاط الاهتمام.
يُخفي بيان نمط JSON التالي جميع نقاط الاهتمام للأنشطة التجارية على الخريطة:
[
{
"featureType": "poi.business",
"stylers": [
{ "visibility": "off" }
]
}
]
كمثال آخر، يعمل تنسيق JSON التالي على تبسيط عرض جميع الفئات من نقاط الاهتمام:
[
{
"featureType": "poi",
"stylers": [
{ "visibility": "simplified" }
]
}
]
للحصول على رمز Java وتفاصيل أخرى، يمكنك الاطّلاع على دليل إخفاء ميزات الخريطة بالتصميم.