Как создать круг на текущем месте во флаттере - PullRequest
0 голосов
/ 16 января 2019

Я работаю над проектом флаттера. На нем я должен нарисовать один кружок в моем текущем местоположении на карте Google. У кого-нибудь есть идеи.

Я хочу вот так во флаттере

enter image description here

Заранее спасибо.

Ответы [ 4 ]

0 голосов
/ 04 мая 2019

Если вы используете плагин flutter_map , то вы можете легко нарисовать радиусный круг. Вот код.

FlutterMap(
    options: MapOptions(
        center: LatLng(latitude, longitude),
        zoom: 16.0
    ),
    layers: [
        TileLayerOptions(
            urlTemplate: "map url",
            additionalOptions:  {
            "accessToken" : "xxx",
            "id" : "map id"
            }
        ), 
        MarkerLayerOptions(
            markers: Marker( //marker
                width: 25.0,
                height: 25.0,
                point: LatLng(latitude, longitude),
                builder: (context) {
                return Container(
                    child: IconButton(
                        icon: Icon(Icons.my_location),
                        iconSize: 25.0,
                        color: Color(0xff9045f7),
                        onPressed: () {
                            print('marker tapped');
                        },
                        ),
                    );
                }
            )
        ),
        CircleLayerOptions(
            circles: CircleMarker( //radius marker
                point: LatLng(latitude, longitude),
                color: Colors.blue.withOpacity(0.3),
                borderStrokeWidth: 3.0,
                borderColor: Colors.blue,
                radius: 100 //radius
            )
        )
    ],
),)
0 голосов
/ 27 января 2019

Пожалуйста, имейте в виду, что виджет карт Google является предварительным просмотром для разработчиков в версии 0.2. Многие вещи и способности, вероятно, изменятся в ближайшие месяцы.

0 голосов
/ 02 апреля 2019

С этой функцией существует открытый запрос на получение https://github.com/flutter/plugins/pull/1136

Но команда Google не приняла его, потому что есть проблема с лицензией, с которой совершил коммит. Я не знаю, будет ли это объединено. Есть много запросов на получение, принятых, но не интегрированных.

0 голосов
/ 16 января 2019

Один из способов сделать это - изменить значок маркера

            mapController.addMarker(MarkerOptions(
                position: LatLng(37.4219999, -122.0862462),
                icon: BitmapDescriptor.fromAsset('images/circle.png',),
              ),);

После установки соответствующих разрешений на Android / IOS, установите trackCameraPosition: true и myLocationEnabled: true в настройках Google Maps, после чего вы можете добавить свое изображение в текущем местоположении с помощью кода

           mapController.addMarker(MarkerOptions(
                position: mapController.cameraPosition.target,
                icon: BitmapDescriptor.fromAsset('images/circle.png',),
              ),);

Вот отличная статья, которая объясняет все возможные вещи, которые вы можете сделать с помощью плагина Google Maps for Flutter (Предварительный просмотр для разработчиков) статья

...