Android Open Source - SmartNavi Kml Line String From Project Back to project page SmartNavi .
License The source code is released under:
Apache License
If you think the Android project SmartNavi listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package org.osmdroid.bonuspack.kml;
/ * w w w . j a v a 2 s . c o m * /
import java.io.IOException;
import java.io.Writer;
import org.osmdroid.bonuspack.kml.KmlFeature.Styler;
import org.osmdroid.bonuspack.overlays.Polyline;
import org.osmdroid.util.BoundingBoxE6;
import org.osmdroid.views.MapView;
import org.osmdroid.views.overlay.Overlay;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import android.content.Context;
import android.os.Parcel;
import android.os.Parcelable;
/**
* KML and/or GeoJSON LineString
* @author M.Kergall
*/
public class KmlLineString extends KmlGeometry {
public KmlLineString(){
super ();
}
public KmlLineString(JsonObject json){
this ();
JsonArray coordinates = json.get("coordinates" ).getAsJsonArray();
mCoordinates = KmlGeometry.parseGeoJSONPositions(coordinates);
}
public void applyDefaultStyling(Polyline lineStringOverlay, Style defaultStyle, KmlPlacemark kmlPlacemark,
KmlDocument kmlDocument){
Style style = kmlDocument.getStyle(kmlPlacemark.mStyle);
if (style != null){
lineStringOverlay.setPaint(style.getOutlinePaint());
} else if (defaultStyle!=null && defaultStyle.mLineStyle!=null){
lineStringOverlay.setPaint(defaultStyle.getOutlinePaint());
}
lineStringOverlay.setEnabled(kmlPlacemark.mVisibility);
}
/** Build the corresponding Polyline overlay */
@Override public Overlay buildOverlay(MapView map, Style defaultStyle, Styler styler, KmlPlacemark kmlPlacemark,
KmlDocument kmlDocument){
Context context = map.getContext();
Polyline lineStringOverlay = new Polyline(context);
lineStringOverlay.setPoints(mCoordinates);
if (styler != null)
styler.onLineString(lineStringOverlay, kmlPlacemark, this );
else {
applyDefaultStyling(lineStringOverlay, defaultStyle, kmlPlacemark, kmlDocument);
}
return lineStringOverlay;
}
@Override public void saveAsKML(Writer writer){
try {
writer.write("<LineString>\n" );
writeKMLCoordinates(writer, mCoordinates);
writer.write("</LineString>\n" );
} catch (IOException e) {
e.printStackTrace();
}
}
@Override public JsonObject asGeoJSON(){
JsonObject json = new JsonObject();
json.addProperty("type" , "LineString" );
json.add("coordinates" , KmlGeometry.geoJSONCoordinates(mCoordinates));
return json;
}
@Override public BoundingBoxE6 getBoundingBox(){
if (mCoordinates!=null)
return BoundingBoxE6.fromGeoPoints(mCoordinates);
else
return null;
}
//Cloneable implementation ------------------------------------
@Override public KmlLineString clone(){
KmlLineString kmlLineString = (KmlLineString)super.clone();
return kmlLineString;
}
//Parcelable implementation ------------
@Override public int describeContents() {
return 0;
}
@Override public void writeToParcel(Parcel out, int flags) {
super.writeToParcel(out, flags);
}
public static final Parcelable.Creator<KmlLineString> CREATOR = new Parcelable.Creator<KmlLineString>() {
@Override public KmlLineString createFromParcel(Parcel source) {
return new KmlLineString(source);
}
@Override public KmlLineString[] newArray(int size) {
return new KmlLineString[size];
}
};
public KmlLineString(Parcel in){
super (in);
}
}
Java Source Code List com.ilm.sandwich.BuildConfig.java com.ilm.sandwich.Config.java com.ilm.sandwich.GoogleMapActivity.java com.ilm.sandwich.Info.java com.ilm.sandwich.MySupportMapFragment.java com.ilm.sandwich.OsmMapActivity.java com.ilm.sandwich.Settings.java com.ilm.sandwich.Smartgeo.java com.ilm.sandwich.StartChooser.java com.ilm.sandwich.TouchableWrapper.java com.ilm.sandwich.helferklassen.HttpRequests.java com.ilm.sandwich.helferklassen.Locationer.java com.ilm.sandwich.helferklassen.MapDownload.java com.ilm.sandwich.helferklassen.MyItemizedOverlay.java com.ilm.sandwich.helferklassen.PlacesAutoComplete.java com.ilm.sandwich.helferklassen.PlacesTextSearch.java com.ilm.sandwich.helferklassen.Rechnung.java com.ilm.sandwich.helferklassen.SuggestionsAdapter.java org.osmdroid.bonuspack.BuildConfig.java org.osmdroid.bonuspack.BuildConfig.java org.osmdroid.bonuspack.cachemanager.CacheManager.java org.osmdroid.bonuspack.clustering.GridMarkerClusterer.java org.osmdroid.bonuspack.clustering.MarkerClusterer.java org.osmdroid.bonuspack.clustering.StaticCluster.java org.osmdroid.bonuspack.kml.ColorStyle.java org.osmdroid.bonuspack.kml.IconStyle.java org.osmdroid.bonuspack.kml.KmlDocument.java org.osmdroid.bonuspack.kml.KmlFeature.java org.osmdroid.bonuspack.kml.KmlFolder.java org.osmdroid.bonuspack.kml.KmlGeometry.java org.osmdroid.bonuspack.kml.KmlGroundOverlay.java org.osmdroid.bonuspack.kml.KmlLineString.java org.osmdroid.bonuspack.kml.KmlMultiGeometry.java org.osmdroid.bonuspack.kml.KmlPlacemark.java org.osmdroid.bonuspack.kml.KmlPoint.java org.osmdroid.bonuspack.kml.KmlPolygon.java org.osmdroid.bonuspack.kml.LineStyle.java org.osmdroid.bonuspack.kml.Style.java org.osmdroid.bonuspack.location.FlickrPOIProvider.java org.osmdroid.bonuspack.location.GeoNamesPOIProvider.java org.osmdroid.bonuspack.location.GeocoderGisgraphy.java org.osmdroid.bonuspack.location.GeocoderNominatimOld.java org.osmdroid.bonuspack.location.GeocoderNominatim.java org.osmdroid.bonuspack.location.NominatimPOIProvider.java org.osmdroid.bonuspack.location.POI.java org.osmdroid.bonuspack.location.PicasaPOIProvider.java org.osmdroid.bonuspack.mapsforge.GenericMapView.java org.osmdroid.bonuspack.mapsforge.MapsForgeTileModuleProvider.java org.osmdroid.bonuspack.mapsforge.MapsForgeTileProvider.java org.osmdroid.bonuspack.mapsforge.MapsForgeTileSource.java org.osmdroid.bonuspack.overlays.DefaultInfoWindow.java org.osmdroid.bonuspack.overlays.ExtendedOverlayItem.java org.osmdroid.bonuspack.overlays.FolderOverlay.java org.osmdroid.bonuspack.overlays.GroundOverlay.java org.osmdroid.bonuspack.overlays.InfoWindow.java org.osmdroid.bonuspack.overlays.ItemizedOverlayWithBubble.java org.osmdroid.bonuspack.overlays.MapEventsOverlay.java org.osmdroid.bonuspack.overlays.MapEventsReceiver.java org.osmdroid.bonuspack.overlays.MarkerInfoWindow.java org.osmdroid.bonuspack.overlays.Marker.java org.osmdroid.bonuspack.overlays.Polygon.java org.osmdroid.bonuspack.overlays.Polyline.java org.osmdroid.bonuspack.routing.GoogleRoadManager.java org.osmdroid.bonuspack.routing.MapQuestRoadManager.java org.osmdroid.bonuspack.routing.OSRMRoadManager.java org.osmdroid.bonuspack.routing.RoadLeg.java org.osmdroid.bonuspack.routing.RoadManager.java org.osmdroid.bonuspack.routing.RoadNode.java org.osmdroid.bonuspack.routing.Road.java org.osmdroid.bonuspack.utils.BonusPackHelper.java org.osmdroid.bonuspack.utils.DouglasPeuckerReducer.java org.osmdroid.bonuspack.utils.HttpConnection.java org.osmdroid.bonuspack.utils.PolylineEncoder.java org.osmdroid.bonuspack.utils.WebImageCache.java