マップにマーカーを追加する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。

この例では、地図マーカーにカスタム ビットマップを使用する方法を示します。
使ってみる
サンプルコードを試す前に、開発環境を構成する必要があります。
詳細については、Flutter プロジェクトを設定するをご覧ください。
コードを表示する
Dart
// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
/// Shows advanced options of markers.
class CustomMarkerSample extends StatefulWidget {
const CustomMarkerSample({super.key});
@override
State<CustomMarkerSample> createState() => _CustomMarkerSampleState();
}
class _CustomMarkerSampleState extends State<CustomMarkerSample> {
late Marker _marker = Marker(
markerId: MarkerId('my_marker'),
// Start with the default Google Maps pin, except yellow.
// (Note: Hue isn't supported on all platforms.)
icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueYellow),
onTap: _changeIcon,
);
@override
Widget build(BuildContext context) {
return GoogleMap(
initialCameraPosition: CameraPosition(target: LatLng(0, 0)),
markers: {_marker},
);
}
void _changeIcon() async {
// Set up the image configuration for the new icon, including its size.
final imageConfiguration = createLocalImageConfiguration(
context,
size: Size(42, 52),
);
// Load the icon image from an asset.
// Alternatively, you can create the icon with BitmapDescriptor.bytes(),
// which allows loading from network or using a CustomPainter.
final assetIcon = await BitmapDescriptor.asset(
imageConfiguration,
'assets/icon_flutter.png',
);
setState(() {
// Modify the existing marker with the new icon and set its anchor
// to center.
_marker = _marker.copyWith(
iconParam: assetIcon,
anchorParam: const Offset(0.5, 0.5),
);
});
}
}
次のステップ
サンプルの全セットは GitHub で確認できます。
GitHub で表示
または、次のコマンドを実行して、サンプルの全セットのクローンを作成し、ローカルで実行します。
git clone -b flutter_samples https://github.com/googlemaps-samples/flutter-maps-samples.git
cd flutter-samples
flutter pub get
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-09-03 UTC。
[null,null,["最終更新日 2025-09-03 UTC。"],[],[],null,["# Add a marker to a map\n\nThis example demonstrates how to use custom bitmaps for map markers.\n\nGet started\n-----------\n\nBefore you can try the sample code, you must configure your development environment.\nFor more information, see [Set up a Flutter project](/maps/flutter-package/config).\n\nView the code\n-------------\n\n### Dart\n\n```python\n// Copyright 2025 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// https://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport 'package:flutter/material.dart';\nimport 'package:google_maps_flutter/google_maps_flutter.dart';\n\n/// Shows advanced options of markers.\nclass CustomMarkerSample extends StatefulWidget {\n const CustomMarkerSample({super.key});\n\n @override\n State\u003cCustomMarkerSample\u003e createState() =\u003e _CustomMarkerSampleState();\n}\n\nclass _CustomMarkerSampleState extends State\u003cCustomMarkerSample\u003e {\n late Marker _marker = Marker(\n markerId: MarkerId('my_marker'),\n // Start with the default Google Maps pin, except yellow.\n // (Note: Hue isn't supported on all platforms.)\n icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueYellow),\n onTap: _changeIcon,\n );\n\n @override\n Widget build(BuildContext context) {\n return GoogleMap(\n initialCameraPosition: CameraPosition(target: LatLng(0, 0)),\n markers: {_marker},\n );\n }\n\n void _changeIcon() async {\n // Set up the image configuration for the new icon, including its size.\n final imageConfiguration = createLocalImageConfiguration(\n context,\n size: Size(42, 52),\n );\n\n // Load the icon image from an asset.\n // Alternatively, you can create the icon with BitmapDescriptor.bytes(),\n // which allows loading from network or using a CustomPainter.\n final assetIcon = await BitmapDescriptor.asset(\n imageConfiguration,\n 'assets/icon_flutter.png',\n );\n\n setState(() {\n // Modify the existing marker with the new icon and set its anchor\n // to center.\n _marker = _marker.copyWith(\n iconParam: assetIcon,\n anchorParam: const Offset(0.5, 0.5),\n );\n });\n }\n}\nhttps://github.com/googlemaps-samples/flutter-maps-samples/blob/8f227e8b4d07179e5fb7cc5e8d8cb5440befd229/lib/samples/marker_custom.dart\n \n```\n\nNext steps\n----------\n\nView the complete set of samples on GitHub:\n\n[View on GitHub](https://github.com/googlemaps-samples/flutter-maps-samples/tree/main/lib/samples)\n\nAlternatively, clone the full set of samples to run them locally by executing the following commands: \n\n git clone -b flutter_samples https://github.com/googlemaps-samples/flutter-maps-samples.git\n cd flutter-samples\n flutter pub get"]]