⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wiglemapper.java

📁 这是一款基于PlaceLab软件开发的导航系统中间件的客户端程序.
💻 JAVA
字号:
/* * Created on Aug 11, 2004 * */package org.placelab.mapper;import java.io.IOException;import org.placelab.collections.Iterator;import org.placelab.collections.LinkedList;import org.placelab.core.Coordinate;import org.placelab.core.TwoDCoordinate;/** * A Mapper that does lookups on wigle.net for beacons. * Since it queries wigle.net for each (new) lookup, it is * is very slow, and further makes it such that the location * computation is no longer completely client side.  Still, * it is useful for comparisons of accuracy and coverage between * wigle and other sources of beacon data. * @see WigleDownloader *  */public class WigleMapper extends AbstractMapper {	private WigleDownloader downloader;		public WigleMapper() throws IOException {		super(true);				downloader = new WigleDownloader();		downloader.authenticate();	}		protected LinkedList findBeaconsImpl(String id) {		Iterator iter = downloader.query("netid=" + id.toUpperCase());		if (!iter.hasNext()) return null;				StringBuffer buffer = new StringBuffer();		while (iter.hasNext()) {			buffer.append(iter.next().toString());			if (iter.hasNext()) buffer.append("\n");		}				LinkedList rv = getBeaconsFromStorageString(buffer.toString());		return rv;	}	protected boolean putBeaconsImpl(String id, LinkedList beacons) {		throw new UnsupportedOperationException("WigleMapper does not support put operations");	}	public boolean open() {		return true;	}	public boolean close() {		return true;	}	public boolean deleteAll() {		throw new UnsupportedOperationException("WigleMapper is not mutable");	}	public boolean isOpened() {		return true;	}	public void startBulkPuts() {}	public void endBulkPuts() {}		public Iterator query(Coordinate c1, Coordinate c2) {		return new WigleMapperIterator(downloader.query((TwoDCoordinate)c1, (TwoDCoordinate)c2));	}		private class WigleMapperIterator implements Iterator {		private Iterator iter;				public WigleMapperIterator(Iterator iterator) {			iter = iterator;		}		public boolean hasNext() {			return iter.hasNext();		}		public Object next() {			return createBeacon(iter.next().toString());		}				public void remove() {			iter.remove();		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -