我正在使用通过MKMapView和MKOverlay使用半透明平铺地图覆盖的iPhone/iPad应用程序.
我希望用户能够深入放大地图,但我的地图叠加层的分辨率只能达到6级.
我不想限制缩放.
但是......如果用户缩放"太远"然后滚动到新的图块,如果它们比覆盖图块树更深,则不会绘制我的叠加.
我希望即使在用户放大深度时也可以绘制叠加层.
有没有最佳实践来实现这一目标?
我提出的两个选项:
1)设置用户可以缩放的范围限制.不理想,因为即使叠加是低分辨率,它们仍可能在透明的彩色范围内,并且透明的覆盖层看似消失是误导性的.
2)预渲染瓷砖比其他方式更深入...这样可行,但它会使我的应用程序的尺寸增加一个数量级.
必须有一个更好的方法.有任何想法吗???
更新:我能找到的最接近的示例代码是来自WWDC 2010的Apple的TileMap示例.他们的代码遇到了同样的问题 - 如果放大"太远",则不会显示地图叠加层.
我需要检测MapView的滚动或缩放时间,例如javascript API中的"moveend"事件.我想等到视图停止移动,然后我可以检测是否需要向服务器查询带有查看矩形的项目,如果是,则发出请求.(实际上我发送的请求比查看矩形略大一些)
显然,如果视图仍在移动,我宁愿不发送数据请求.但更糟糕的是,我不知道我需要发送另一个请求,让地图区域缺少标记.
目前我正在继承MapView并处理onTouchEvent,如下所示:
public boolean onTouchEvent(android.view.MotionEvent ev) {
super.onTouchEvent (ev);
if (ev.getAction() == MotionEvent.ACTION_UP) {
GeoPoint center = getMapCenter();
int latSpan = getLatitudeSpan(), lngSpan = getLongitudeSpan();
/* (check if it has moved enough to need a new set of data) */
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
问题是,我不知道视图是否已经停止,因为滚动往往具有惯性并且可以继续经过"ACTION_UP"事件.
是否有一些我可以使用的事件会在mapview完成移动(或缩放)时提醒我?如果没有,有没有人写过逻辑来检测这个?从理论上讲,我可以通过查看所有动作进行猜测,并稍后设置一些东西并检查它......但是......这看起来很麻烦而且是PITA.但如果有人已经写了...... :)
我是开发Android应用程序的新手,我希望我能在正确的位置发布这个.我正在尝试学习如何让手机蓝牙连接到我的蓝牙模块.我正在尝试使用我在参考书中找到的代码,但它给了我一个错误.我之前用java编写过,但我很难理解Android应用程序的结构.无论如何,我得到的错误是未知错误:java.lang.nullPointerException.我可能忘记导入我需要的库,或者在创建项目时是否犯了包装错误?这是代码:
package android.app.bluetooth;
//import java.io.InputStream;
//import java.io.OutputStream;
import java.util.ArrayList;
import java.util.UUID;
import java.io.IOException;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
//import android.os.Handler;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothServerSocket;
import android.bluetooth.BluetoothSocket;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
//import android.view.View.OnKeyListener;
import android.widget.ArrayAdapter;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
public class bluetooth extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud) 我来自Java背景,我想在php中使用内部类.每次我放入内部类时,都会出现语法错误.这可能用PHP吗?另外,我如何引用外部类?我可以访问其所有数据成员吗?
<?php
class OuterClass {
var $x = 15;
function __construct() {
}
class InnerClass { // error when InnerClass is static
function __construct() { // error when InnerClass is static
echo $x;
}
}
}
?>
Run Code Online (Sandbox Code Playgroud)
这用于特定纸牌游戏的MoveClass(如在移动中).我认为将这些课程放在一起是一件很好的设计,因为它们没有任何区别.此外,MoveClass需要了解Game类的一些数据成员.为什么不把它变成一个功能呢?它太大了.
编辑:
嵌套类怎么样?据我所知,那些必须是静态的?O_O
我试图这样做:
http://foo.foo/?parameter=value
"转变"为
http://foo.foo/value
谢谢.
我有一个javascript函数,删除现有的按钮,并添加新的按钮.
这是代码:
function FunctionName(){
("button").remove();
// This works fine.
//but however, with the following add code, I don;t get a jquery ui button.
var element = document.createElement("input");
element.setAttribute("type","button");
// other code
divName = get <div> by ID;
divName.appendChiled(element);
}
Run Code Online (Sandbox Code Playgroud)
有没有办法动态添加一个jquery ui按钮:
喜欢:
divName.add("button");
那没起效...
我有一个csv文件,它是由脚本连续编写的.它每行写入时间戳和一些其他数据.我必须先阅读最新数据.目前我在java中使用RandomAccessFile以反向方式读取文件.但随着它的不断写入,我必须优先阅读新数据.我正在维护已发送的时间戳并正在进行工作.这导致不必要的扫描操作.
有没有更好的方法来处理这种情况?
提前致谢,
xml看起来像这样:
<statements>
<statement account="123">
...stuff...
</statement>
<statement account="456">
...stuff...
</statement>
</statements>
Run Code Online (Sandbox Code Playgroud)
我正在使用stax一次处理一个" <statement>
",然后我就开始工作了.我需要将整个语句节点作为字符串获取,这样我就可以创建"123.xml"和"456.xml",甚至可以将其加载到由account索引的数据库表中.
使用这种方法:http://www.devx.com/Java/Article/30298/1954
我想做这样的事情:
String statementXml = staxXmlReader.getNodeByName("statement");
//load statementXml into database
Run Code Online (Sandbox Code Playgroud) 我有这张图片地图
http://corfro.com/projects/charlie-faye-tour-map/
当您点击不同的城市时,该区域会显示黑色边框,但只会在Chrome中显示.(你可能需要在不同的城市点击几次,但边界会出现 - 一旦公交车到达城市边界开始出现)
我尝试过以下但无济于事.
a{outline:none;}
map > area,
map > area:active,
map > area:focus {outline: none; border:0; }
Run Code Online (Sandbox Code Playgroud)
你们有什么建议吗?任何帮助都非常感谢,因为这让我发疯!