我无法将Google地图相机移回初始位置.基本上,我在Actionbar上有一个主页按钮.如果用户在地图上滚动并点击"主页"按钮,我希望相机移回原始位置.
我使用原始坐标googleMap.getCameraPosition().target,但相机不动.
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
LatLng initialLoc= mMap.getCameraPosition().target;
CameraUpdate update = CameraUpdateFactory.newLatLng(initialLoc);
CameraUpdate zoom = CameraUpdateFactory.zoomTo(15);
mMap.moveCamera(update);
mMap.animateCamera(zoom);
return true;
}
Run Code Online (Sandbox Code Playgroud)
map.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
xmlns:map="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map"
tools:context="org.test"
android:name="com.google.android.gms.maps.SupportMapFragment"
map:cameraTargetLat="xxx.xxx"
map:cameraTargetLng="xxx.xxx"
map:cameraZoom="15"
map:mapType="normal" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
在适用于iOS的Google地图应用中,当您点按"我的位置"按钮时,相机会从您当前所在的位置慢慢平移到当前位置.
根据Google的开发者文档,我实现了类似于用户点击按钮时显示的方法:
- (void) animateToCameraPosition: (GMSCameraPosition *) cameraPosition;
Run Code Online (Sandbox Code Playgroud)
这与我的代码类似:
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude: lat
longitude: long zoom: 17];
[googleMapView animateToCameraPosition:camera];
Run Code Online (Sandbox Code Playgroud)
它工作正常,相机根据我指定的坐标平移到我想要的任何位置.然而,事实上,平移真的很快,很快.
我希望相机从我所在的任何位置慢慢平移到指定位置,如Google地图所示.
我怎样才能做到这一点?谢谢
我的Android TV应用程序从服务器获取图像并将其显示在主屏幕上.问题是,所有未聚焦的图像,即未选择的图像都包含黑色透明背景.
唯一不包含透明背景的图像是当前选定的图像.我确保图像是pngs.图像聚焦后,背景将被删除.
我没有LinearLayout在.xml中使用任何东西,只是一个GridItemPresenter类.
造成这种情况的原因是什么?如何解决这个问题?
我试图添加以下内容,view.setBackgroundColor(Color.TRANSPARENT)但这没有任何效果.
这是我的代码:
private class GridItemPresenter extends Presenter
{
public ViewHolder onCreateViewHolder(ViewGroup parent)
{
ImageView view = new ImageView(parent.getContext());
view.setBackgroundColor(Color.TRANSPARENT);
view.setLayoutParams(new ViewGroup.LayoutParams((int)x, (int)y));
view.setFocusable(true);
view.setFocusableInTouchMode(true);
return new ViewHolder(view);
}
public void onBindViewHolder(ViewHolder viewHolder, Object item)
{
ImageView imageView = ( (ImageView) viewHolder.view);
}
public void onUnbindViewHolder(ViewHolder viewHolder)
{
ImageView imageView = ( (ImageView) viewHolder.view);
}
}
Run Code Online (Sandbox Code Playgroud)
我必须实现一个将字节写入ostream对象的方法.我们刚刚调用了这个ostream对象strobj.我还有一个缓冲区用于存储一个字节的数据,让我们称之为:
char &bitter;
Run Code Online (Sandbox Code Playgroud)
在我的头文件中,我有这个:
void writeThisByte(int sumInt);
Run Code Online (Sandbox Code Playgroud)
指令说我必须写入传入ostream对象的int的"不太重要的字节" ,即strobj;
但是,我对最不重要的字节意味着什么感到困惑.
这是否意味着你要检查是否sumInt == 1?如果是的话,你会把它写成ostream这样吗?
strobj.write(&bitter, 1);
Run Code Online (Sandbox Code Playgroud)
我不确定 :(
这就是我想要实现的目标:

我想执行一个向上滑动动画,用户可以向上滑动UIView2,UIView2将在屏幕中途停止.
我知道如何通过UIButton动作以模态方式呈现UIViewControler,如下所示:
[self presentViewController:newController animated:NO completion:nil];
Run Code Online (Sandbox Code Playgroud)
我也知道你需要这种类型的动画代码:
[UIView animateWithDuration:0.5f animations:^{
[self.customView layoutIfNeeded];
} completion:^(BOOL finished) {
}];
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何使用UIViews实现这一点,特别是因为我将AutoLayout用于我的项目,并且我使用约束来轻松支持多种屏幕尺寸.
如何在不破坏AutoLayout和我设置的约束的情况下实现这一目标?
谢谢
我正在尝试TextView在Google地图的左上角显示一个告知用户是否距离特定标记点位置x距离,即"您接近位置A",但仅显示TextView范围内的if.如果他们超出范围,TextView意志就会消失.
我了解Google Places API会向您显示所有附近的位置,但我只想显示我在地图上标记的附近位置,如果用户距离它们的距离很近.
我怎样才能做到这一点?我还需要使用Google Places API吗?
我的班级.java:
private GoogleMap mMap;
private LatLng currLocation;
private static final LatLng POINTA = new LatLng(32.820193, -117.232568);
private static final LatLng POINTB = new LatLng(32.829129, -117.232204);
private static final LatLng POINTC = new LatLng(32.821114, -117.231534);
private static final LatLng POINTD = new LatLng(32.825157, -117.232003);
// Array to store hotspot coordinates
private ArrayList<LatLng> markerCoords = new ArrayList<LatLng>();
private static final int POINTS = 4;
@Override
protected void onCreate(Bundle savedInstanceState) …Run Code Online (Sandbox Code Playgroud) java android google-maps google-maps-markers android-maps-v2
目前我已CALayer申请了UIImageView如此:
let l: CALayer = imageView.layer
l.masksToBounds = true
l.cornerRadius = 20.0
Run Code Online (Sandbox Code Playgroud)
我想实现如下所示的模糊效果:
我尝试过以下方法:
let blurEffect = UIBlurEffect(style: .light)
let visualEffectView = UIVisualEffectView(effect: blurEffect)
imageView.addSubview(visualEffectView)
Run Code Online (Sandbox Code Playgroud)
以及:
var visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .light))
visualEffectView.frame = staffImageView.bounds
imageView.addSubview(visualEffectView)
Run Code Online (Sandbox Code Playgroud)
但是,两者都没有达到我想要的效果.
有人可以提供帮助吗?这似乎相当简单,但我无法实现它.
更新: 我试图玩渐变但没有太多运气:
var maskLayer = CAGradientLayer()
maskLayer.frame = cell.imageView.bounds
let black = UIColor.white.cgColor
let clear = UIColor(white: 1, alpha: 0).cgColor
maskLayer.colors = [black, clear]
maskLayer.locations = [0.0, 0.10]
maskLayer.startPoint = CGPoint(x: 1, y: 0)
maskLayer.endPoint = CGPoint(x: 1, …Run Code Online (Sandbox Code Playgroud) 我有一个问题使用UIWebView.
当UIWebView扩展到全屏模式时,我一直收到以下信息:
此应用程序正在从后台线程修改autolayout引擎,这可能导致引擎损坏和奇怪的崩溃.这将在将来的版本中导致异常.
这是我的简单代码,也是我唯一的代码:
@IBOutlet var player: UIWebView!
override func viewDidLoad()
{
super.viewDidLoad()
let url = "http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/sl.m3u8"
let frame: Int = 10
let html = "<html><body><iframe src=\"\(url)\" width=395 height=290 frameborder=\(frame)></iframe></body></html>"
player.loadHTMLString(html as String, baseURL: nil)
}
Run Code Online (Sandbox Code Playgroud)
我尝试了以下问题的解决方案,它没有做任何事情:
dispatch_async(dispatch_get_main_queue(), {
let html = "<html><body><iframe src=\"\(url)\" width=395 height=290 frameborder=\(frame)></iframe></body></html>"
self.player.loadHTMLString(html as String, baseURL: nil)
})
Run Code Online (Sandbox Code Playgroud)我试过另一个解决方案
将PSPDFUIKitMainThreadGuard添加到项目中无法解决此问题.
正如您所看到的,我的代码非常简单,与我发现的其他问题不同,所有这些解决方案都指向在主线程中执行UI更改,我添加了代码以尝试执行,但我仍然收到警告.
还有很多我发现的与我相似的问题,但它们都指向同样的解决方案,这对我不起作用,所以我没有费心去列出它们.
有没有人对此有任何见解?你可以自己尝试这个简单的代码,你会看到同样的问题.
谢谢
我面临一个奇怪的问题,我不确定是什么导致了它.基本上,我正在使用ErrorFragment类来显示错误,简单吧?
问题与使用按钮单击侦听器设置有关setButtonClickListener.当MainFragment最初被加载,按钮不能在我的Android电视遥控器注册任何点击.
但是,如果我MainFragment使用遥控器上的后退按钮重新加载,则按钮会记录点击次数.
谁能给我一些关于为什么会发生这种情况的见解?
谢谢!
MainActivity.java:
public class MainActivity extends Activity
{
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Run Code Online (Sandbox Code Playgroud)
activity_main.xml中:
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_browse_fragment"
android:name="com.ui.MainFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.ui.MainActivity"
tools:deviceIds="tv"
tools:ignore="MergeRootFrame" />
Run Code Online (Sandbox Code Playgroud)
MainFragment.java:
public class MainFragment extends DetailsFragment
{
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
setupUIElements();
if (isConnectingToInternet() == true)
{
prepareBackgroundManager();
loadRows();
setupEventListeners();
}
else
{
InternetConnectivityFragment internetError = new InternetConnectivityFragment();
getFragmentManager().beginTransaction().add(R.id.main_browse_fragment, internetError).commit();
}
}
public class GetInternetStatus extends …Run Code Online (Sandbox Code Playgroud) 我在xCode中使用Google Maps SDK并尝试缩放标记图标以使其在mapView上变大.
我想做这样的事情:
marker.icon.scale = 3.0f;
Run Code Online (Sandbox Code Playgroud)
但它给了我一个:
赋予readonly属性错误
显然,因为它是只读的,我不能写它.
因此,是否可以选择调整标记图标的大小或缩放?
ios ×5
android ×4
google-maps ×4
java ×3
objective-c ×3
android-tv ×2
swift ×2
c++ ×1
calayer ×1
iphone ×1
swift3 ×1
uiimageview ×1
uiview ×1
uiwebview ×1