Back to project page geoar-app.
The source code is released under:
Apache License
If you think the Android project geoar-app listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/** * Copyright 2012 52North Initiative for Geospatial Open Source Software GmbH */* w w w .ja v a 2s . c om*/ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ ///** // * Copyright 2012 52North Initiative for Geospatial Open Source Software GmbH // * // * Licensed under the Apache License, Version 2.0 (the "License"); // * you may not use this file except in compliance with the License. // * You may obtain a copy of the License at // * // * http://www.apache.org/licenses/LICENSE-2.0 // * // * Unless required by applicable law or agreed to in writing, software // * distributed under the License is distributed on an "AS IS" BASIS, // * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // * See the License for the specific language governing permissions and // * limitations under the License. // */ ///** // * Copyright 2012 52North Initiative for Geospatial Open Source Software GmbH // * // * Licensed under the Apache License, Version 2.0 (the "License"); // * you may not use this file except in compliance with the License. // * You may obtain a copy of the License at // * // * http://www.apache.org/licenses/LICENSE-2.0 // * // * Unless required by applicable law or agreed to in writing, software // * distributed under the License is distributed on an "AS IS" BASIS, // * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // * See the License for the specific language governing permissions and // * limitations under the License. // */ //package org.n52.geoar.map.view; // //import java.util.HashMap; //import java.util.List; //import java.util.Map; // //import org.mapsforge.android.maps.overlay.ItemizedOverlay; //import org.mapsforge.android.maps.overlay.OverlayItem; //import org.n52.geoar.map.view.overlay.OverlayType; // //import android.graphics.drawable.Drawable; // ///** // * Special {@link ItemizedOverlay} based on a {@link Map}. This allows to // * efficiently add and remove {@link OverlayItem}s from different sources to and // * from the same overlay. // */ //public class DataSourcesOverlay extends ItemizedOverlay<OverlayType<? extends Geometry>> { // // interface OnOverlayItemTapListener { // boolean onOverlayItemTap(OverlayType item); // } // // // private Map<Object, List<VisualizationOverlayItem>> overlayItemMap = new HashMap<Object, List<VisualizationOverlayItem>>(); // private OnOverlayItemTapListener overlayItemTapListener; // // public DataSourcesOverlay() { // this(null); // } // // public DataSourcesOverlay(Drawable defaultMarker) { // super(defaultMarker); // } // // public void setOverlayItemTapListener(OnOverlayItemTapListener listener) { // overlayItemTapListener = listener; // } // // /** // * Removes all items from the overlay. // */ // public void clear() { // synchronized (this.overlayItemMap) { // for (List<VisualizationOverlayItem> itemList : overlayItemMap.values()) { // itemList.clear(); // } // overlayItemMap.clear(); // } // populate(); // } // // public void clear(Object key) { // synchronized (this.overlayItemMap) { // overlayItemMap.remove(key); // } // populate(); // } // // /** // * Removes the given item from the overlay. // * // * @param overlayItem // * the item that should be removed from the overlay. // */ // public void removeItem(OverlayItem overlayItem) { // synchronized (this.overlayItemMap) { // for (List<VisualizationOverlayItem> itemList : overlayItemMap.values()) { // itemList.remove(overlayItem); // } // } // populate(); // } // // @Override // public int size() { // synchronized (this.overlayItemMap) { // int size = 0; // for (List<VisualizationOverlayItem> itemList : overlayItemMap.values()) { // size += itemList.size(); // } // return size; // } // } // // @Override // protected VisualizationOverlayItem createItem(int index) { // synchronized (this.overlayItemMap) { // int minIndex = 0; // for (List<VisualizationOverlayItem> itemList : overlayItemMap.values()) { // if (index >= minIndex && index < minIndex + itemList.size()) { // return itemList.get(index - minIndex); // } // // minIndex += itemList.size(); // } // // return null; // } // } // // public void setOverlayItems(List<VisualizationOverlayItem> overlayItems, // Object key) { // synchronized (this.overlayItemMap) { // // List<VisualizationOverlayItem> previousMapping = this.overlayItemMap // .put(key, overlayItems); // if (previousMapping != null) { // previousMapping.clear(); // } // } // populate(); // } // // public void addOverlayItems(List<VisualizationOverlayItem> overlayItems, // Object key) { // synchronized (this.overlayItemMap) { // List<VisualizationOverlayItem> mapping = this.overlayItemMap.get(key); // if (mapping == null) { // this.overlayItemMap.put(key, overlayItems); // } else { // mapping.addAll(overlayItems); // } // } // populate(); // } // // @Override // protected boolean onTap(int index) { // if (overlayItemTapListener != null // && overlayItemTapListener.onOverlayItemTap(createItem(index))) { // return true; // } // return super.onTap(index); // } // //}