addMarker method

void addMarker(
  1. BasicPointMarker marker
)

Implementation

void addMarker(BasicPointMarker marker) {
  double gridLat = (marker.latLong.latitude - boundingBox.minLatitude) /
      latDiff *
      gridCount;
  double gridLon = (marker.latLong.longitude - boundingBox.minLongitude) /
      lonDiff *
      gridCount;
  // if (gridLat < 0 || gridLat >= gridCount) return;
  // if (gridLon < 0 || gridLon >= gridCount) return;
  assert(gridLat >= 0);
  assert(gridLat < gridCount, "$gridLat vs $gridCount");
  assert(gridLon >= 0);
  assert(gridLon < gridCount, "$gridLon vs $gridCount");
  List<BasicPointMarker>? ms =
      markers[gridLat.floor() * gridCount + gridLon.floor()];
  if (ms == null) {
    ms = [];
    markers[gridLat.floor() * gridCount + gridLon.floor()] = ms;
  }
  ms.add(marker);
}