Tag: google maps

LocationManager和跳跃坐标

看看这张图片。 你会看到一些LocationManager如何给出奇怪的坐标。 看起来他们跳了起来。 但同时本机谷歌地图应用程序显示移动设备的正确位置。 我在Android 7.0.0和7.1.1下使用3种不同的智能手机测试了应用程序,并且或多或少得到了相同的结果。 请帮我查看我的代码,看看它仍然缺少哪些设置。 谢谢! import android.app.Service; import android.content.Context; import android.content.Intent; import android.location.Location; import android.location.LocationManager; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; import android.os.IBinder; import android.text.format.DateFormat; import android.util.Log; import com.google.gson.Gson; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.math.BigDecimal; import java.math.RoundingMode; import java.net.HttpURLConnection; import […]

Android OnLongClickListener未在MapView上触发

我刚刚在我正在编写的Android应用程序上的MapView上注册了一个OnLongClickListener。 但是出于某种原因,onLongClick事件不会触发。 这是我到目前为止所写的内容: public class FriendMapActivity extends MapActivity implements OnLongClickListener { private static final int CENTER_MAP = Menu.FIRST; private MapView mapView; private MapController mapController; //… private boolean doCenterMap = true; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.friendmapview); this.mapView = (MapView) findViewById(R.id.map_view); this.mapController = mapView.getController(); mapView.setBuiltInZoomControls(true); […]

JDK 7更改了keytool输出

我正在使用JDK的keytool来生成Google Maps API密钥指纹。 虽然被拒绝多次,但我意识到我最近将JDK升级到了1.7。 所以我将我的目录切换到JDK6(感谢上帝,旧版本仍然存在。),并重复相同的命令: D:\.android>”C:\Program Files\Java\jre6\bin\keytool” -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 和邦! 有用。 原来JDK7生成了SHA1指纹而不是MD5,这导致我拒绝提交给谷歌。 所以我想知道为什么新版本的JDK会发生这种情况。 任何人都有一些线索?

替换Unicode控制字符

我需要在Java中替换字符串中的所有特殊控制字符。 我想问谷歌地图API v3,谷歌似乎并不喜欢这些字符。 示例: http : //www.google.com/maps/api/geocode/json?sendor = false&address = NEWS%20YO​​RK%C2%8F 此URL包含以下字符: http : //www.fileformat.info/info/unicode/char/008f/index.htm 所以我收到了一些数据,我需要对这些数据进行地理编码。 我知道有些角色不会通过地理编码,但我不知道确切的列表。 我无法找到有关此问题的任何文档,因此我认为Google不喜欢的字符列表就是这个: http : //www.fileformat.info/info/unicode/category/Cc/list.htm 是否有任何已构建的函数来摆脱这些字符,或者我必须构建一个新的,逐个替换? 还是有一个很好的正则表达式完成工作? 有人知道谷歌不喜欢哪个角色列表? 编辑:Google为此创建了一个网页: https://developers.google.com/maps/documentation/webservices/?hl=fr#BuildingURLs

融合位置提供商:有没有办法检查位置更新是否失败?

介绍 在我的应用程序中,我希望获得用户当前所在位置的一次性准确位置。 当我使用FusedLocationProviderApi.getLastLocation有时这将是null或过时位置,因为我发现这只是获取缓存位置并且不请求新的位置更新。 解决方案是仅请求位置更新一次,如下所示。 LocationRequest locationRequest = LocationRequest.create() .setNumUpdates(1) .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) .setInterval(0); LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient,locationRequest,this) 现在我总是得到一个更准确的位置。 我的问题 如何确定位置更新是否失败? 因为我只要求1。 获取位置更新时,将调用此回调 @Override public void onLocationChanged(Location location) { } 但是,如果位置更新失败,则不会调用此方法。 我试过的 我看到有一个ResultCallback。 但是,即使一次性位置更新失败,也始终会调用onSuccess。 LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient,locationRequest,this).setResultCallback(new ResultCallbacks() { @Override public void onSuccess(@NonNull Status status) { DebugUtils.log(“requestLocationUpdates ResultCallback onSuccess + ” + status.toString(),true,true); } @Override public void onFailure(@NonNull Status status) { DebugUtils.log(“requestLocationUpdates ResultCallback […]

PolyLine不在路上:它从一个点直接到另一个点

输出是我的地图包含多个点来点击用户的位置,他从那里通过polyLine没有在道路上显示,但显示从一个标记到另一个标记的直线我希望我的pollyline在道路转弯时穿过马路它也应该转向 dataholder = FirebaseDatabase.getInstance().getReference(“UserLocation”); Log.d(“onMapReady”, “iam here”); dataholder.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { Log.d(“data”,String.valueOf(dataSnapshot.getValue())); System.out.println(dataSnapshot.getValue()); for (DataSnapshot a : dataSnapshot.getChildren()) { MapData mapData = a.getValue(MapData.class); arrayList.add(mapData); lati.add(arrayList.get(i).getLatituide()); longit.add(arrayList.get(i).getLongitude()); Log.d(“mapi”,”i am in loop”); mMap = googleMap; Double lat = Double.parseDouble(lati.get(i)); Double longi = Double.parseDouble(longit.get(i)); sydney = new LatLng(longi, lat); points.add(sydney); MarkerOptions mop = […]