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