تظهر نقاط الاهتمام تلقائيًا على الخريطة الأساسية مع رموزها المقابلة. تشمل نقاط الاهتمام المتنزّهات والمدارس والمباني الحكومية وغيرها.
بالإضافة إلى ذلك، تظهر نقاط الاهتمام التجارية تلقائيًا على الخريطة عندما يكون نوع الخريطة هو
normal
. تمثّل نقاط الاهتمام التجارية الأنشطة التجارية، مثل المتاجر والمطاعم والفنادق وغيرها. لا تظهر نقاط الاهتمام الخاصة بالأنشطة التجارية على الخرائط الداخلية (مخططات الطوابق) إلا على خريطة
الوضع البسيط.
يرتبط مكان جذب سياحي بمعرّف مكان، كما هو محدّد في حزمة تطوير البرامج (SDK) للأماكن لنظام التشغيل 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 وتفاصيل أخرى، اطّلِع على دليل إخفاء عناصر الخريطة باستخدام الأنماط.