예제 #1
0
  @Override
  public void dispatch(OverviewEvent event) {
    detachOverview();
    overview.clear();

    if (map == null) {
      pendingOverview = event;
      return;
    }
    for (HumProxy hum : event.hums) {
      PointProxy point = hum.getPoint();
      HumProxy.Level level = hum.getLevel();

      if (point == null || level == null) {
        continue;
      }

      MarkerOptions opts =
          new MarkerOptions.Builder(LatLng.newInstance(point.getLat(), point.getLng()))
              .icon(levelHelper.icon(level))
              .shadow(shadowBuilder.getShadow())
              .animation(Animation.DROP)
              .draggable(false)
              .clickable(false)
              .build();
      Marker marker = Marker.newInstance(opts);
      overview.add(marker);
    }
    detachCurrentHum();
    attachOverview();
  }
예제 #2
0
 private void firePositionChange(LatLng latLng) {
   geocoderService.reverse(latLng);
   PointProxy point = humWorkflow.createPoint();
   point.setLat(latLng.getLatitude());
   point.setLng(latLng.getLongitude());
   bus.fireEvent(new PointEvent(point));
   modeHolder.userEvent();
 }
예제 #3
0
 private Marker buildMarkerForCurrentHum(PointProxy point) {
   MarkerOptions opts =
       new MarkerOptions.Builder(LatLng.newInstance(point.getLat(), point.getLng()))
           .icon(levelHelper.icon(HumProxy.Level.HIGH))
           .shadow(shadowBuilder.getShadow())
           //                .shape(red.getShape())
           .animation(Animation.DROP)
           .draggable(true)
           .build();
   Marker marker = Marker.newInstance(opts);
   addDragendListener(marker, firePositionChange);
   return marker;
 }
예제 #4
0
 private void putPin(PointProxy point) {
   if (point == null) {
     detachCurrentHum();
     return;
   }
   if (currentHum == null) {
     currentHum = buildMarkerForCurrentHum(point);
     if (pendingLevel != null) {
       dispatch(pendingLevel);
       pendingLevel = null;
     }
   } else {
     currentHum.setPosition(LatLng.newInstance(point.getLat(), point.getLng()));
   }
   attachCurrentHum();
 }