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

📄 wiglemapper.java

📁 一个基于PlaceLab的室内和室外的智能导航系统
💻 JAVA
字号:
/* * Created on Aug 11, 2004 * */package org.placelab.mapper;import java.io.IOException;import java.util.Enumeration;import java.util.Vector;import org.placelab.collections.UnsupportedOperationException;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 Vector findBeaconsImpl(String id) {		Enumeration iter = downloader.query("netid=" + id.toUpperCase());		if (!iter.hasMoreElements()) return null;				StringBuffer buffer = new StringBuffer();		while (iter.hasMoreElements()) {			buffer.append(iter.nextElement().toString());			if (iter.hasMoreElements()) buffer.append("\n");		}				Vector rv = getBeaconsFromStorageString(buffer.toString());		return rv;	}	protected boolean putBeaconsImpl(String id, Vector 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 Enumeration query(Coordinate c1, Coordinate c2) {		return new WigleMapperIterator(downloader.query((TwoDCoordinate)c1, (TwoDCoordinate)c2));	}		private class WigleMapperIterator implements Enumeration {		private Enumeration iter;				public WigleMapperIterator(Enumeration iterator) {			iter = iterator;		}		public boolean hasMoreElements() {			return iter.hasMoreElements();		}		public Object nextElement() {			return createBeacon(iter.nextElement().toString());		}			}}

⌨️ 快捷键说明

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