Java 类com.google.android.gms.maps.model.Polyline 实例源码

项目:FiveMinsMore    文件:MapUtils.java   
public static void zoomToPolyline(GoogleMap map, Polyline p) {
    if (p == null || p.getPoints().isEmpty())
        return;

    LatLngBounds.Builder builder = LatLngBounds.builder();

    for (LatLng latLng : p.getPoints()) {
        builder.include(latLng);
    }
    final LatLngBounds bounds = builder.build();

    try{
    map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 150));
    } catch (Exception e){
        e.printStackTrace();
    }
}
项目:FiveMinsMore    文件:GpxHolder.java   
private View.OnClickListener getClickListener(final GpxTreeItem value) {
    return new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (value.type) {
                case ITEM_TYPE_TRACK:
                    Polyline polyline = value.polylines[0];
                    MapUtils.zoomToPolyline(manager.getCurrentMap(), polyline);

                    value.polylines[0].setColor(CHOSEN_TRACK_COLOR);
                    value.polylines[0].setZIndex(ZINDEX_POLYLINE_CHOSEN);
                    if (lastClickedPolyline != null) {
                        lastClickedPolyline.setColor(DEFAULT_TRACK_COLOR);
                        lastClickedPolyline.setZIndex(ZINDEX_POLYLINE);
                    }
                    lastClickedPolyline = polyline;
                    break;
                case ITEM_TYPE_WAYPOINT:
                    MapUtils.zoomToMarker(manager.getCurrentMap(),
                            value.marker);
                    break;
            }
        }
    };
}
项目:geopackage-android-map    文件:GoogleMapShapeConverter.java   
/**
 * Add a Polyline to the map as markers
 *
 * @param map
 * @param polylineOptions
 * @param polylineMarkerOptions
 * @param globalPolylineOptions
 * @return
 */
public PolylineMarkers addPolylineToMapAsMarkers(GoogleMap map,
                                                 PolylineOptions polylineOptions,
                                                 MarkerOptions polylineMarkerOptions,
                                                 PolylineOptions globalPolylineOptions) {

    PolylineMarkers polylineMarkers = new PolylineMarkers(this);

    if (globalPolylineOptions != null) {
        polylineOptions.color(globalPolylineOptions.getColor());
        polylineOptions.geodesic(globalPolylineOptions.isGeodesic());
    }

    Polyline polyline = addPolylineToMap(map, polylineOptions);
    polylineMarkers.setPolyline(polyline);

    List<Marker> markers = addPointsToMapAsMarkers(map,
            polylineOptions.getPoints(), polylineMarkerOptions, false);
    polylineMarkers.setMarkers(markers);

    return polylineMarkers;
}
项目:RoadLab-Pro    文件:MeasurementsGoogleMapHelper.java   
private void addInterval(Context context, GoogleMap map, ProcessedDataModel item, boolean addCache) {
    double[] coordsStart = item.getCoordsStart();
    double[] coordsEnd = item.getCoordsStart();
    if (coordsStart == null || coordsEnd == null
            || coordsStart.length < 2 || coordsEnd.length < 2) {
        return;
    }
    LatLng startLine = new LatLng(item.getCoordsStart()[0], item.getCoordsStart()[1]);
    LatLng endLine = new LatLng(item.getCoordsEnd()[0], item.getCoordsEnd()[1]);
    Polyline line = map.addPolyline(new PolylineOptions()
            .add(startLine, endLine)
            .geodesic(true)
            .width(context.getResources().getDimension(R.dimen.map_polyline_width))
            .color(getIriColor(context, item.getCategory())));
    if (addCache && linesCache != null) {
        linesCache.put(line, item);
    }
}
项目:WalkGraph    文件:MapFragmentImpl.java   
/**
 * @param graph to use in drawing polyOptions on the graph.
 */

@Override
public void drawGraph(Graph graph) {
    PolylineOptions graphOptions = new PolylineOptions();
    List<Location> locationList = graph.getLocations();

    for (Location location: locationList){
        LatLng currentPosition = new LatLng(location.getLatitude(), location.getLongitude());
        MarkerOptions options = new MarkerOptions();
        options.position(currentPosition)
                .icon(BitmapDescriptorFactory.defaultMarker())
                .title("Position")
                .snippet("Some Position");
        googleMap.addMarker(options);
        graphOptions.add(currentPosition);
    }

    Polyline graphPolygon = googleMap.addPolyline(graphOptions);

    graphPolygon.setGeodesic(true);
    graphPolygon.setColor(Color.DKGRAY);
    graphPolygon.setWidth(20);
}
项目:Dryver    文件:MapUtil.java   
/**
 * Helper function used to draw routes on the map given 2 locations
 *
 * @param mMap
 * @param decodedPolyLine
 * @param polylineArrayList
 * @return
 */
public int drawRoute(GoogleMap mMap, List<LatLng> decodedPolyLine, ArrayList<Polyline> polylineArrayList) {
    int routeDistance = 0;
    for (int i = 0; i < (decodedPolyLine.size() - 1); i++) {
        LatLng point1 = decodedPolyLine.get(i);
        LatLng point2 = decodedPolyLine.get(i + 1);

        Location location1 = new Location("1");
        location1.setLatitude(point1.latitude);
        location1.setLongitude(point1.longitude);
        Location location2 = new Location("2");
        location2.setLatitude(point2.latitude);
        location2.setLongitude(point2.longitude);

        routeDistance += location1.distanceTo(location2);
        polylineArrayList.add(mMap.addPolyline(new PolylineOptions()
                .add(point1, point2)
                .width(5)
                .color(Color.RED)));
    }
    return routeDistance;
}
项目:travelers-diary    文件:MapFragment.java   
public void setTracksVisible(boolean visible) {
    for (Map.Entry<String, Polyline> entry :
            mRoutesMap.entrySet()) {
        Polyline route = entry.getValue();
        if (route != null) {
            Marker start = mRouteStartMarksMap.get(route);
            if (start != null) {
                start.setVisible(visible);
            }
            Marker end = mRouteEndMarksMap.get(route);
            if (end != null) {
                end.setVisible(visible);
            }
            route.setVisible(visible);
        }
    }
}
项目:RxGpsService    文件:PlaceMapFragment.java   
private Polyline drawPath(List<LatLong> latLongs, int color, float zIndex, Polyline polyline) {
    if (googleMap != null && latLongs != null && !latLongs.isEmpty()) {
        PolylineOptions polyLineOptions = new PolylineOptions();
        polyLineOptions.width(getResources().getDimension(R.dimen._2dp));
        polyLineOptions.color(color);
        polyLineOptions.zIndex(zIndex);

        for (LatLong latLong : latLongs) {
            polyLineOptions.add(new LatLng(latLong.latitude(), latLong.longitude()));
        }

        if (polyline != null) polyline.remove();
        return googleMap.addPolyline(polyLineOptions);
    }

    return null;
}
项目:PhoneChat    文件:PluginPolyline.java   
/**
 * Remove the polyline
 * @param args
 * @param callbackContext
 * @throws JSONException
 */
@SuppressWarnings("unused")
private void remove(final JSONArray args, final CallbackContext callbackContext) throws JSONException {
  String id = args.getString(1);
  Polyline polyline = this.getPolyline(id);
  if (polyline == null) {
    this.sendNoResult(callbackContext);
    return;
  }
  this.objects.remove(id);

  id = "polyline_bounds_" + polyline.getId();
  this.objects.remove(id);

  polyline.remove();
  this.sendNoResult(callbackContext);
}
项目:PhoneChat    文件:PluginPolyline.java   
/**
 * Set points
 * @param args
 * @param callbackContext
 * @throws JSONException
 */
@SuppressWarnings("unused")
private void setPoints(final JSONArray args, final CallbackContext callbackContext) throws JSONException {
  String id = args.getString(1);
  Polyline polyline = this.getPolyline(id);

  JSONArray points = args.getJSONArray(2);
  List<LatLng> path = PluginUtil.JSONArray2LatLngList(points);
  polyline.setPoints(path);

  LatLngBounds.Builder builder = new LatLngBounds.Builder();
  for (int i = 0; i < path.size(); i++) {
    builder.include(path.get(i));
  }
  this.objects.put("polyline_bounds_" + polyline.getId(), builder.build());

  this.sendNoResult(callbackContext);
}
项目:RxGoogleMapsBinding    文件:PolyLineClickOnSubscribe.java   
@Override public void call(final Subscriber<? super Polyline> subscriber) {
  GoogleMap.OnPolylineClickListener listener = new GoogleMap.OnPolylineClickListener() {
    @Override public void onPolylineClick(Polyline polyline) {
      if (!subscriber.isUnsubscribed()) {
        subscriber.onNext(polyline);
      }
    }
  };

  googleMap.setOnPolylineClickListener(listener);

  subscriber.add(Subscriptions.create(new Action0() {
    @Override public void call() {
      googleMap.setOnPolylineClickListener(null);
    }
  }));
}
项目:FaceT    文件:NearbyLocationActivity.java   
@Override
public void onRoutingSuccess(ArrayList<Route> route, int j) {
    if (polylines.size() > 0) {
        for (Polyline poly : polylines) {
            poly.remove();
        }
    }

    polylines = new ArrayList<>();
    //add route(s) to the map.
    for (int i = 0; i < route.size(); i++) {

        //In case of more than 5 alternative routes
        int colorIndex = i % COLORS.length;

        PolylineOptions polyOptions = new PolylineOptions();
        polyOptions.color(getResources().getColor(COLORS[colorIndex]));
        polyOptions.width(10 + i * 3);
        polyOptions.addAll(route.get(i).getPoints());
        Polyline polyline = mMap.addPolyline(polyOptions);
        polylines.add(polyline);
    }
}
项目:mytracks    文件:MapOverlay.java   
/**
 * Updates the track, start and end markers, and waypoints.
 * 
 * @param googleMap the google map
 * @param paths the paths
 * @param tripStatistics the trip statistics
 * @param reload true to reload all points
 * @return true if has the start marker
 */
public boolean update(GoogleMap googleMap, ArrayList<Polyline> paths,
    TripStatistics tripStatistics, boolean reload) {
  synchronized (locations) {
    boolean hasStartMarker = false;
    // Merge pendingLocations with locations
    int newLocations = pendingLocations.drainTo(locations);
    // Call updateState first because we want to update its state each time
    // (for dynamic coloring)
    if (trackPath.updateState(tripStatistics) || reload) {
      googleMap.clear();
      paths.clear();
      trackPath.updatePath(googleMap, paths, 0, locations);
      hasStartMarker = updateStartAndEndMarkers(googleMap);
      updateWaypoints(googleMap);
    } else {
      if (newLocations != 0) {
        int numLocations = locations.size();
        trackPath.updatePath(googleMap, paths, numLocations - newLocations, locations);
      }
    }
    return hasStartMarker;
  }
}
项目:mytracks    文件:TrackPathUtils.java   
/**
 * Add a path.
 * 
 * @param googleMap the google map
 * @param paths the existing paths
 * @param points the path points
 * @param color the path color
 * @param append true to append to the last path
 */
public static void addPath(GoogleMap googleMap, ArrayList<Polyline> paths,
    ArrayList<LatLng> points, int color, boolean append) {
  if (points.size() == 0) {
    return;
  }
  if (append && paths.size() != 0) {
    Polyline lastPolyline = paths.get(paths.size() - 1);
    ArrayList<LatLng> pathPoints = new ArrayList<LatLng>();
    pathPoints.addAll(lastPolyline.getPoints());
    pathPoints.addAll(points);
    lastPolyline.setPoints(pathPoints);
  } else {
    PolylineOptions polylineOptions = new PolylineOptions().addAll(points).width(5).color(color);
    Polyline polyline = googleMap.addPolyline(polylineOptions);
    paths.add(polyline);
  }
  points.clear();
}
项目:TuristHelper    文件:GoogleMapFragment.java   
/** draw the route on the map, if there is a created route,
 * It will be removed to create another.
 * */
private void drawRoute(List<LatLng> latlngList){
    if(latlngList != null){
        if(polylineList != null){
            for(Polyline polyline : polylineList){
                polyline.remove();
            }
        }
        polylineList = new ArrayList<Polyline>();

        for (int i = 0; i < latlngList.size() - 1; i++) {
            LatLng src = latlngList.get(i);
            LatLng dest = latlngList.get(i + 1);
            Polyline polyLine = mMap.addPolyline(
                    new PolylineOptions()
                            .add(new LatLng(src.latitude, src.longitude), new LatLng(dest.latitude,dest.longitude))
                            .width(4)
                            .color(Color.BLUE)
                            .geodesic(true));
            polylineList.add(polyLine);
        }
    }
}
项目:SIT    文件:PlanZoneMapFragment.java   
/**
 * Drw polyline on the Google Map from first and last LatLng
 * @param first start point of the polyline to draw
 * @param last last point of the polyline to draw
 */
public void drawLine(LatLng first, LatLng last){
    // First you need rotate the bitmap of the arrowhead somewhere in your code
    float rotationDegrees = (float) LatLngUtils.angleFromCoordinate(last.latitude, last.longitude, first.latitude, first.longitude);

    // Create the rotated arrowhead bitmap
    Bitmap arrow = BitmapFactory.decodeResource(getResources(), R.drawable.arrow);
    BitmapDescriptor bitmapDescriptorFactory = BitmapDescriptorFactory.fromBitmap(arrow);
    // Get the middle position
    LatLng middlePos = LatLngUtils.midPoint(first.latitude, first.longitude, last.latitude, last.longitude);
    // Now we are gonna to add a marker
    Marker mArrowhead = googleMap.addMarker(new MarkerOptions()
            .position(middlePos)
            .flat(true)
            .anchor(0.5f, 0.5f)
            .rotation(rotationDegrees)
            .icon(bitmapDescriptorFactory));

    Polyline line = googleMap.addPolyline((new PolylineOptions())
            .add(first, last).width(3).color(Color.parseColor("#9b24a6"))
            .geodesic(true));

    polylines.add(new Pair<Polyline, Marker>(line, mArrowhead));
}
项目:SIT    文件:VisualisationMapFragment.java   
/**
 * Drw polyline on the Google Map from first and last LatLng
 * @param first start point of the polyline to draw
 * @param last last point of the polyline to draw
 */
public void drawLine(LatLng first, LatLng last){
    // First you need rotate the bitmap of the arrowhead somewhere in your code
    float rotationDegrees = (float) LatLngUtils.angleFromCoordinate(last.latitude, last.longitude, first.latitude, first.longitude);

    // Create the rotated arrowhead bitmap
    Bitmap arrow = BitmapFactory.decodeResource(getResources(), R.drawable.arrow);
    BitmapDescriptor bitmapDescriptorFactory = BitmapDescriptorFactory.fromBitmap(arrow);
    // Get the middle position
    LatLng middlePos = LatLngUtils.midPoint(first.latitude, first.longitude, last.latitude, last.longitude);
    // Now we are gonna to add a marker
    Marker mArrowhead = googleMap.addMarker(new MarkerOptions()
            .position(middlePos)
            .flat(true)
            .anchor(0.5f, 0.5f)
            .rotation(rotationDegrees)
            .icon(bitmapDescriptorFactory));

    Polyline line = googleMap.addPolyline((new PolylineOptions())
            .add(first, last).width(3).color(Color.parseColor("#9b24a6"))
            .geodesic(true));

    polylines.add(new Pair<Polyline, Marker>(line, mArrowhead));
}
项目:travelers-diary    文件:MapFragment.java   
public void setTracksVisible(boolean visible) {
    for (Map.Entry<String, Polyline> entry :
            mRoutesMap.entrySet()) {
        Polyline route = entry.getValue();
        if (route != null) {
            Marker start = mRouteStartMarksMap.get(route);
            if (start != null) {
                start.setVisible(visible);
            }
            Marker end = mRouteEndMarksMap.get(route);
            if (end != null) {
                end.setVisible(visible);
            }
            route.setVisible(visible);
        }
    }
}
项目:AndroidMarkerClusteringMaps    文件:KmlRenderer.java   
/**
 * Adds a single geometry object to the map with its specified style
 *
 * @param geometry defines the type of object to add to the map
 * @param style    defines styling properties to add to the object when added to the map
 * @return the object that was added to the map, this is a Marker, Polyline, Polygon or an array
 * of either objects
 */
private Object addToMap(KmlPlacemark placemark, KmlGeometry geometry, KmlStyle style,
        KmlStyle inlineStyle, boolean isVisible) {

    String geometryType = geometry.getGeometryType();
    if (geometryType.equals("Point")) {
        Marker marker = addPointToMap(placemark, (KmlPoint) geometry, style, inlineStyle);
        marker.setVisible(isVisible);
        return marker;
    } else if (geometryType.equals("LineString")) {
        Polyline polyline = addLineStringToMap((KmlLineString) geometry, style, inlineStyle);
        polyline.setVisible(isVisible);
        return polyline;
    } else if (geometryType.equals("Polygon")) {
        Polygon polygon = addPolygonToMap((KmlPolygon) geometry, style, inlineStyle);
        polygon.setVisible(isVisible);
        return polygon;
    } else if (geometryType.equals("MultiGeometry")) {
        return addMultiGeometryToMap(placemark, (KmlMultiGeometry) geometry, style, inlineStyle,
                isVisible);
    }

    return null;
}
项目:neo4art    文件:PluginPolyline.java   
/**
 * Remove the polyline
 * @param args
 * @param callbackContext
 * @throws JSONException
 */
@SuppressWarnings("unused")
private void remove(final JSONArray args, final CallbackContext callbackContext) throws JSONException {
  String id = args.getString(1);
  Polyline polyline = this.getPolyline(id);
  if (polyline == null) {
    this.sendNoResult(callbackContext);
    return;
  }
  this.objects.remove(id);

  id = "polyline_bounds_" + polyline.getId();
  this.objects.remove(id);

  polyline.remove();
  this.sendNoResult(callbackContext);
}
项目:neo4art    文件:PluginPolyline.java   
/**
 * Set points
 * @param args
 * @param callbackContext
 * @throws JSONException
 */
@SuppressWarnings("unused")
private void setPoints(final JSONArray args, final CallbackContext callbackContext) throws JSONException {
  String id = args.getString(1);
  Polyline polyline = this.getPolyline(id);

  JSONArray points = args.getJSONArray(2);
  List<LatLng> path = PluginUtil.JSONArray2LatLngList(points);
  polyline.setPoints(path);

  LatLngBounds.Builder builder = new LatLngBounds.Builder();
  for (int i = 0; i < path.size(); i++) {
    builder.include(path.get(i));
  }
  this.objects.put("polyline_bounds_" + polyline.getId(), builder.build());

  this.sendNoResult(callbackContext);
}
项目:neo4art    文件:PluginPolyline.java   
/**
 * Remove the polyline
 * @param args
 * @param callbackContext
 * @throws JSONException
 */
@SuppressWarnings("unused")
private void remove(final JSONArray args, final CallbackContext callbackContext) throws JSONException {
  String id = args.getString(1);
  Polyline polyline = this.getPolyline(id);
  if (polyline == null) {
    this.sendNoResult(callbackContext);
    return;
  }
  this.objects.remove(id);

  id = "polyline_bounds_" + polyline.getId();
  this.objects.remove(id);

  polyline.remove();
  this.sendNoResult(callbackContext);
}
项目:neo4art    文件:PluginPolyline.java   
/**
 * Set points
 * @param args
 * @param callbackContext
 * @throws JSONException
 */
@SuppressWarnings("unused")
private void setPoints(final JSONArray args, final CallbackContext callbackContext) throws JSONException {
  String id = args.getString(1);
  Polyline polyline = this.getPolyline(id);

  JSONArray points = args.getJSONArray(2);
  List<LatLng> path = PluginUtil.JSONArray2LatLngList(points);
  polyline.setPoints(path);

  LatLngBounds.Builder builder = new LatLngBounds.Builder();
  for (int i = 0; i < path.size(); i++) {
    builder.include(path.get(i));
  }
  this.objects.put("polyline_bounds_" + polyline.getId(), builder.build());

  this.sendNoResult(callbackContext);
}
项目:neo4art    文件:PluginPolyline.java   
/**
 * Remove the polyline
 * @param args
 * @param callbackContext
 * @throws JSONException
 */
@SuppressWarnings("unused")
private void remove(final JSONArray args, final CallbackContext callbackContext) throws JSONException {
  String id = args.getString(1);
  Polyline polyline = this.getPolyline(id);
  if (polyline == null) {
    this.sendNoResult(callbackContext);
    return;
  }
  this.objects.remove(id);

  id = "polyline_bounds_" + polyline.getId();
  this.objects.remove(id);

  polyline.remove();
  this.sendNoResult(callbackContext);
}
项目:neo4art    文件:PluginPolyline.java   
/**
 * Set points
 * @param args
 * @param callbackContext
 * @throws JSONException
 */
@SuppressWarnings("unused")
private void setPoints(final JSONArray args, final CallbackContext callbackContext) throws JSONException {
  String id = args.getString(1);
  Polyline polyline = this.getPolyline(id);

  JSONArray points = args.getJSONArray(2);
  List<LatLng> path = PluginUtil.JSONArray2LatLngList(points);
  polyline.setPoints(path);

  LatLngBounds.Builder builder = new LatLngBounds.Builder();
  for (int i = 0; i < path.size(); i++) {
    builder.include(path.get(i));
  }
  this.objects.put("polyline_bounds_" + polyline.getId(), builder.build());

  this.sendNoResult(callbackContext);
}
项目:mvhs-app    文件:MapActivity.java   
private void clearNav() {
    mNavigating = false;
    mStartingLocation = null;
    mStartingLocationButton.setText(R.string.your_location);

    hideNav();
    mNavSelectionFab.setImageResource(R.drawable.ic_directions_black_24dp);

    if (mDestinationMarker != null) {
        mDestinationMarker.remove();
        mDestinationMarker = null;
    }

    MapData.cleanTempNodes();
    if (mNavPathPolylines != null) {
        for (Polyline line : mNavPathPolylines) {
            if (line != null) {
                line.remove();
            }
        }
        mNavPathPolylines = null;
    }
    if (mDebugMode) {
        getMap().subscribe(this::updateMapOverlays);
    }
}
项目:ServisTakip    文件:CizgiCekme.java   
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.google_map);


    if (googleHarita == null) {
        googleHarita = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.haritafragment))
                .getMap();
        if (googleHarita != null) {


            Polyline line = googleHarita.addPolyline(new PolylineOptions()
            .add(new LatLng(41.061071, 28.949268), new LatLng(41.060845, 28.949569), new LatLng(41.060715, 28.949826), new LatLng(41.060553, 28.950084))
            .width(5)
            .color(Color.RED));


        }
    }
}
项目:TrailMix-for-peel-android    文件:MapActivity.java   
private void drawMap(HashMap<String, TrailObj> trailCollection,
        GoogleMap mMap2) {
    // TODO Auto-generated method stub

    for (TrailObj trail : trailCollection.values()) {
        for (PlacemarkObj p : trail.getPlacemarks()) {
            PolylineOptions rectOptions = new PolylineOptions();
            for (LatLng g : p.getCoordinates()) {
                rectOptions.add(g);
            }
            Polyline polyline = mMap2.addPolyline(rectOptions);
            polyline.setColor(Color.RED);
            polyline.setWidth(5);
            polyline.setVisible(true);
        }
    }
}
项目:TrailMix-for-peel-android    文件:MapActivity.java   
public void drawTrailByName(GoogleMap map, String trailName) {
    DatabaseHelper db;
    db = new DatabaseHelper(this);
    ArrayList<Placemark> placemarks = db.getTrailPlacemarks(trailName);
    ArrayList<GeoPoint> points;
    PolylineOptions rectOptions;
    for (Placemark p : placemarks) {
        rectOptions = new PolylineOptions();
        points = db.getPlacemarkGeoPoints(p.getId());
        for (GeoPoint g : points) {
            rectOptions.add(new LatLng(g.getLat(), g.getLng()));
        }
        Polyline polyline = map.addPolyline(rectOptions);
        polyline.setColor(Color.RED);
        polyline.setWidth(8);
        polyline.setVisible(true);
    }

}
项目:TrailMix-for-peel-android    文件:MapActivity.java   
public void drawTrail(GoogleMap map, TrailObj trail) {
    ArrayList<LatLng> allPoints = new ArrayList<LatLng>();
    ArrayList<GeoPoint> points;

    PolylineOptions rectOptions;
    for (PlacemarkObj p : trail.getPlacemarks()) {
        rectOptions = new PolylineOptions();
        allPoints.addAll(p.getCoordinates());
        for (LatLng g : p.getCoordinates()) {
            rectOptions.add(g);
        }
        Polyline polyline = map.addPolyline(rectOptions);
        polyline.setColor(Color.RED);
        polyline.setWidth(8);
        polyline.setVisible(true);
    }

    // map.addMarker(new MarkerOptions()
    // .position(center)
    // .title(trail.getTrailName()));
}
项目:TrailMix-for-peel-android    文件:MapActivity.java   
public void drawTrails(GoogleMap map) {
    DatabaseHelper db;
    db = new DatabaseHelper(this);
    ArrayList<ArrayList<GeoPoint>> sortedGeoPoints = db.getPlacemarks();
    int count = 0;
    int pCount = 0;
    PolylineOptions rectOptions;
    for (ArrayList<GeoPoint> p : sortedGeoPoints) {
        rectOptions = new PolylineOptions();
        pCount++;
        for (GeoPoint g : p) {
            rectOptions.add(new LatLng(g.getLat(), g.getLng()));
            count++;
        }
        Polyline polyline = map.addPolyline(rectOptions);
        polyline.setColor(Color.RED);
        polyline.setWidth(8);
        polyline.setVisible(true);
    }

    map.addMarker(new MarkerOptions().position(new LatLng(43.95, -79.95))
            .title(String.valueOf(count) + " " + String.valueOf(pCount)));
    System.out.println("When reading from db:" + count);
}
项目:shuttleAndroid    文件:MapState.java   
private void parseRoute(XmlResourceParser xpp, String routeName) throws IOException, XmlPullParserException {
    PolylineOptions polylineOptions = new PolylineOptions();

    while (xpp.nextTag() == XmlPullParser.START_TAG) {
        if (xpp.getName().equals("LatLng")) {
            String coords[] = xpp.nextText().split(",");
            polylineOptions.add(new LatLng(Double.valueOf(coords[0]), Double.valueOf(coords[1])));
        } else if (xpp.getName().equals("Color")) {
            Polyline polyline = mMap.addPolyline(polylineOptions);
            String color = xpp.nextText();
            polyline.setColor(Color.parseColor(color));
            setPolyline(polyline, routeName);
        } else if (xpp.getName().equals("Width")) {
            getPolyline(routeName).setWidth(Float.valueOf(xpp.nextText()));
        }
    }
}
项目:AppGoogleMaps    文件:MainActivity.java   
@Override
public void onDirectionFinderStart() {
    callProgressDialog();

    if (polylinePaths != null) {
        for (Polyline polyline : polylinePaths) {
            polyline.remove();
        }
    }
}
项目:Android-Wear-Projects    文件:MapsActivity.java   
@Override
public void onMapReady(GoogleMap googleMap) {
    // Map is ready to be used.
    mMap = googleMap;

    // Set the long click listener as a way to exit the map.
    mMap.setOnMapLongClickListener(this);
    mMap.setOnMapClickListener(this);

    mMap.setOnMarkerDragListener(this);
    mMap.setOnInfoWindowClickListener(this);

    mMap.getUiSettings().setZoomControlsEnabled(true);

    mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);

    if (checkPermission()) {
        mMap.setMyLocationEnabled(true);
    } else {

    }


    // Add a marker in Sydney, Australia and move the camera.

    Polyline line = mMap.addPolyline(new PolylineOptions()
            .add(new LatLng(-34, 151), new LatLng(-37, 74.0))
            .width(5)
            .color(Color.WHITE));

    LatLng sydney = new LatLng(-34, 151);
    mMap.setInfoWindowAdapter(new WearInfoWindowAdapter(getLayoutInflater(), mMemories));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));

}
项目:GoogleMapsLayout-Android    文件:MapLayout.java   
/**
 *
 * NOTE: cannot draw a polyline if there are no points, or only single point, specified in the PolylineOptions given as argument
 *
 * @param uuid path uuid
 * @param polylineOptions polyline options
 * @return true if polyline has been successfully added to Google Maps, false otherwise
 */
public boolean addPolylineToPath(String uuid, PolylineOptions polylineOptions) {

    if(polylineOptions.getPoints()==null || polylineOptions.getPoints().size()<2) {
        // cannot draw a polyline because there are no points or only single point
        return false;
    }

    polylineOptions.zIndex(POLYLINE_Z_INDEX);

    Path path = getPathWithUuid(uuid);
    // if path does not exist, create it
    if(path==null) {
        path = new Path(uuid);
        pathVsPolylinesMap.put(path,new ArrayList<Polyline>());
    }
    // add polyline
    path.addPolyline(polylineOptions);
    // get all polyline objects already drawn on Google Maps
    List<Polyline> polylines = pathVsPolylinesMap.get(path);
    // add to Google Maps the new polyline described by the given poliylineOptions object
    Polyline polyline = addPolylineToGoogleMap(polylineOptions);
    // add newly added polyline object to the list
    polylines.add(polyline);
    // update the mapping
    pathVsPolylinesMap.put(path,polylines);

    return true;
}
项目:GoogleMapsLayout-Android    文件:MapLayout.java   
/**
 *
 * @param path
 */
private void removePolylinesForPath(Path path) {
    List<Polyline> polylines = pathVsPolylinesMap.get(path);

    Iterator<Polyline> iterator = polylines.iterator();
    while(iterator.hasNext()) {
        Polyline polyline = iterator.next();
        polyline.remove();
        iterator.remove();
    }
}
项目:geopackage-android-map    文件:GoogleMapShapeConverter.java   
/**
 * Convert a list of {@link Polyline} to a {@link MultiLineString}
 *
 * @param polylineList
 * @param hasZ
 * @param hasM
 * @return
 */
public MultiLineString toMultiLineString(List<Polyline> polylineList,
                                         boolean hasZ, boolean hasM) {

    MultiLineString multiLineString = new MultiLineString(hasZ, hasM);

    for (Polyline polyline : polylineList) {
        LineString lineString = toLineString(polyline);
        multiLineString.addLineString(lineString);
    }

    return multiLineString;
}
项目:geopackage-android-map    文件:GoogleMapShapeConverter.java   
/**
 * Convert a list of {@link Polyline} to a {@link CompoundCurve}
 *
 * @param polylineList
 * @param hasZ
 * @param hasM
 * @return
 */
public CompoundCurve toCompoundCurve(List<Polyline> polylineList,
                                     boolean hasZ, boolean hasM) {

    CompoundCurve compoundCurve = new CompoundCurve(hasZ, hasM);

    for (Polyline polyline : polylineList) {
        LineString lineString = toLineString(polyline);
        compoundCurve.addLineString(lineString);
    }

    return compoundCurve;
}
项目:geopackage-android-map    文件:GoogleMapShapeConverter.java   
/**
 * Add a list of Polylines to the map
 *
 * @param map
 * @param polylines
 * @return
 */
public static MultiPolyline addPolylinesToMap(GoogleMap map,
                                              MultiPolylineOptions polylines) {
    MultiPolyline multiPolyline = new MultiPolyline();
    for (PolylineOptions polylineOption : polylines.getPolylineOptions()) {
        if (polylines.getOptions() != null) {
            polylineOption.color(polylines.getOptions().getColor());
            polylineOption.geodesic(polylines.getOptions().isGeodesic());
        }
        Polyline polyline = addPolylineToMap(map, polylineOption);
        multiPolyline.add(polyline);
    }
    return multiPolyline;
}
项目:Dryver    文件:MapUtil.java   
/**
 * Helper function to remove all polylines
 *
 * @param polylineArrayList
 */
public void removePolylines(ArrayList<Polyline> polylineArrayList) {
    if (polylineArrayList.size() != 0) {
        for (Polyline polyline : polylineArrayList) {
            polyline.remove();
        }
    }
}