商業施設やその他の有名スポット
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
スポット(地図上の場所)は、対応するアイコンとともに基本地図にデフォルトで表示されます。公園、学校、政府機関などもスポットに該当します。
また、地図タイプが normal
の場合は、ビジネス スポットがデフォルトで地図に表示されます。ビジネス スポットは、店舗、レストラン、ホテルなどを表します。インドアマップ(構内図)上のビジネス スポットは、ライトモードの地図でのみ表示されます。
スポットは、Places SDK for Android で定義されるプレイス ID に対応しています。たとえば、遊園地はスポットですが、噴水などの物体は、通常は(国民的または歴史的に重要と認められていない限り)スポットではありません。
スポットに対するクリック イベントをリッスンする
ユーザーによるスポットへのタップに応答するには、次のコードサンプルに示すように 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();
}
}
スポットは地図にデフォルトで表示されますが、クリックを処理する UI はデフォルトでは存在しません。つまり、ユーザーがスポットをタップしても、API によって情報ウィンドウなどのユーザー インターフェースが自動的に表示されることはありません。
上記のサンプルに示すように、GoogleMap.setOnPoiClickListener(OnPoiClickListener)
を呼び出して、地図に OnPoiClickListener
を設定します。
スポットがクリック(タップ)されると、アプリはそのスポット(地図上の場所)を示す OnPoiClick(PointOfInterest)
イベントを受け取ります。PointOfInterest
には、スポットの緯度と経度の座標、プレイス ID、名前が含まれます。
地図にスポットが表示されないようにする
スポット(地図上の場所)を非表示にするには、すべてのスポットまたは該当のカテゴリのスポットにカスタム スタイルを適用します。
次の JSON スタイル宣言を使用すると、地図上のすべてのビジネス スポットを非表示にすることができます。
[
{
"featureType": "poi.business",
"stylers": [
{ "visibility": "off" }
]
}
]
別の例として、次の JSON を使用してすべてのカテゴリのスポットの表示を簡素化することもできます。
[
{
"featureType": "poi",
"stylers": [
{ "visibility": "simplified" }
]
}
]
Java コードとその他の詳細については、地図上の対象物をスタイルで非表示にするためのガイドをご覧ください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-03 UTC。
[null,null,["最終更新日 2024-12-03 UTC。"],[[["\u003cp\u003ePoints of Interest (POIs) such as parks, schools, and businesses, are displayed on the map by default with corresponding icons.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can listen for click events on POIs and respond to user interactions using the \u003ccode\u003eOnPoiClickListener\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAlthough POIs are displayed by default, there is no default on-click UI, meaning developers need to implement their own info windows or other UI elements.\u003c/p\u003e\n"],["\u003cp\u003eThe display of POIs can be customized or hidden altogether using JSON style declarations to control their visibility and appearance.\u003c/p\u003e\n"]]],["Points of interest (POIs), including parks, schools, and businesses, appear by default on maps. To handle user taps on POIs, use `OnPoiClickListener` and set it via `GoogleMap.setOnPoiClickListener`. This triggers an `OnPoiClick` event, providing the POI's name, place ID, and coordinates. You can also hide POIs using custom JSON styling by setting the `visibility` to `off` for business POIs for instance or `simplified` for all POIs.\n"],null,["Select platform: [Android](/maps/documentation/android-sdk/poi \"View this page for the Android platform docs.\") [iOS](/maps/documentation/ios-sdk/poi \"View this page for the iOS platform docs.\") [JavaScript](/maps/documentation/javascript/examples/event-poi \"View this page for the JavaScript platform docs.\")\n\n\u003cbr /\u003e\n\nBy default, points of interest (POIs) appear on the base map along with their\ncorresponding icons. POIs include parks, schools, government buildings, and\nmore.\n\nIn addition, *business* POIs appear by default on the map when the map type is\n`normal`. Business POIs represent businesses such as shops, restaurants, hotels,\nand more. Business POIs on [indoor maps (floor plans)](/maps/documentation/android-sdk/map#indoor) appear only on a\n[lite mode](/maps/documentation/android-sdk/lite) map.\n\nA POI corresponds to a [Place ID](/maps/documentation/places/android-sdk/place-id), as defined in the\nPlaces SDK for Android. For example, recreational parks are POIs, but\nthings like water fountains are generally not POIs (unless they're of national\nor historic significance).\n\nListen for click events on POIs\n\nIf you want to respond to a user tapping on a POI, you can use an\n[`OnPoiClickListener`](/android/reference/com/google/android/gms/maps/GoogleMap.OnPoiClickListener) as shown in the following code\nsample:\n\n\nKotlin \n\n```kotlin\ninternal class OnPoiClickDemoActivity : AppCompatActivity(), OnMapReadyCallback, OnPoiClickListener {\n\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n setContentView(R.layout.poi_click_demo)\n val mapFragment = supportFragmentManager.findFragmentById(R.id.map)\n as SupportMapFragment\n mapFragment.getMapAsync(this)\n }\n\n override fun onMapReady(map: GoogleMap) {\n map.setOnPoiClickListener(this)\n }\n\n override fun onPoiClick(poi: PointOfInterest) {\n Toast.makeText(this, \"\"\"Clicked: ${poi.name}\n Place ID:${poi.placeId}\n Latitude:${poi.latLng.latitude} Longitude:${poi.latLng.longitude}\"\"\",\n Toast.LENGTH_SHORT\n ).show()\n }\n}\n\n \n```\n\nJava \n\n```java\nclass OnPoiClickDemoActivity extends AppCompatActivity implements\n OnMapReadyCallback, GoogleMap.OnPoiClickListener {\n\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.poi_click_demo);\n SupportMapFragment mapFragment;\n mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);\n mapFragment.getMapAsync(this);\n }\n\n @Override\n public void onMapReady(GoogleMap map) {\n map.setOnPoiClickListener(this);\n }\n\n @Override\n public void onPoiClick(PointOfInterest poi) {\n Toast.makeText(this, \"Clicked: \" +\n poi.name + \"\\nPlace ID:\" + poi.placeId +\n \"\\nLatitude:\" + poi.latLng.latitude +\n \" Longitude:\" + poi.latLng.longitude,\n Toast.LENGTH_SHORT).show();\n }\n}\n\n \n```\n\n\u003cbr /\u003e\n\nPOIs appear on the map by default, but there is no default on-click UI. That is,\nthe API does not automatically display an info window or any other user\ninterface when the user taps a POI.\n\nAs the above sample shows, you set the\n[`OnPoiClickListener`](/android/reference/com/google/android/gms/maps/GoogleMap.OnPoiClickListener) on the map by\ncalling\n[`GoogleMap.setOnPoiClickListener(OnPoiClickListener)`](/android/reference/com/google/android/gms/maps/GoogleMap#setOnPoiClickListener(com.google.android.gms.maps.GoogleMap.OnPoiClickListener)).\nWhen a user clicks (taps) on a POI, your app receives an\n[`OnPoiClick(PointOfInterest)`](/android/reference/com/google/android/gms/maps/GoogleMap.OnPoiClickListener#onPoiClick(com.google.android.gms.maps.model.PointOfInterest)) event\nindicating the point of interest (POI) that the user clicked. The\n[`PointOfInterest`](/android/reference/com/google/android/gms/maps/model/PointOfInterest) contains the latitude/longitude coordinates,\nplace ID and name of the point of interest.\n\nStop POIs from showing on the map\n\nYou can hide points of interest (POIs) by applying custom styles to all POIs or\nto specific categories of POIs.\n\nThe following JSON style declaration hides all business POIs on the map: \n\n [\n {\n \"featureType\": \"poi.business\",\n \"stylers\": [\n { \"visibility\": \"off\" }\n ]\n }\n ]\n\nAs another example, the following JSON simplifies the display of all categories\nof POIs: \n\n [\n {\n \"featureType\": \"poi\",\n \"stylers\": [\n { \"visibility\": \"simplified\" }\n ]\n }\n ]\n\nFor Java code and other details, see the guide to\n[hiding map features with styling](/maps/documentation/android-sdk/hiding-features)."]]