Как добавить маркер, нажмите / кликните по карте, используя Flutter / Dart? - PullRequest
0 голосов
/ 19 января 2019

Я только начал изучать флаттер / дротик. Исходя из HTML5 / Javascript, мне интересно, что будет эквивалентно:

google.maps.event.addListener(map, 'click', function(event) {
 placeMarker(event.latLng);
});

function placeMarker(location) {
var marker = new google.maps.Marker({
    position: location, 
    map: map
});

}

Я просмотрел весь интернет и нашел много примеров добавления маркеров, но не по клику на карте (например, Пример 1 , Пример 2 ). Плагин google_maps_flutter пока ничего об этом не упоминает. Можно ли добавить маркер, коснувшись карты, или это то, что до сих пор недоступно?

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

Ответы [ 3 ]

0 голосов
/ 15 февраля 2019

То же самое и с моей проблемой. Вы должны вытащить ветку google_map, которая предоставляет слушателя, например onMapClickListener и т. д. Может быть, это может помочь вам: https://github.com/flutter/plugins/pull/1121

Привет

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

Плагин наконец-то добавил свойство onTap для класса GoogleMap.

final ArgumentCallback<LatLng> onTap

Пример:

GoogleMap(
    markers: _markers,
    initialCameraPosition: _theSecretLocation,
    onMapCreated: (GoogleMapController controller) {
      _controller.complete(controller);
    },
    onTap: _handleTap,
  ),
  ...

 _handleTap(LatLng point) {
setState(() {
  _markers.add(Marker(
    markerId: MarkerId(point.toString()),
    position: point,
    infoWindow: InfoWindow(
      title: 'I am a marker',
    ),
    icon:
        BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueMagenta),
  ));
});

}

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

вы хотите взять mapcontroller и использовать его, например:

**GoogleMapController controller;**

**controller.onMarkerTapped.add((Marker marker){/...your code.../);**
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...