我是Android软件开发的新手,也是本网站的新用户.我希望有人可能对我遇到的问题有一些经验.
我一直在关注Hello,MapView教程,不仅要学习Android框架,还要学习Google Maps库.我已经尽力按照教程指示的方式完成实现.我的问题是应用程序确实在我的模拟器中加载(或者甚至在我的手机上加载),但地图图块不会加载.
搜索Google我发现另一个网站上的其他人发布了相同问题的帖子,但他/她的问题是添加到AndroidManifest.xml文件的重要元素的顺序不正确.我在里面仔细检查了这一点,但一切似乎都是正确的.
所以,我不确定问题是什么,并希望其他人以前见过这个.我可以提供任何代码片段,如果这会有所帮助.
谢谢.
我正在编写一个Android应用程序,其中一个功能是地图将根据指南针旋转(即如果手机指向东方,地图将定向,以便地图的东侧位于顶部).我发现之前的答案建议在mapView中编写onDraw()方法,然而,api将方法更改为final,因此无法覆盖.结果我试图dispatchDraw()像这样覆盖这个方法:
注意:
-compass是一个布尔值,如果为true,则旋转视图
-bearing是一个浮点变量,具有视图应该旋转的度数
protected void dispatchDraw(Canvas canvas) {
canvas.save();
if (compass) {
final float w = this.getWidth();
final float h = this.getHeight();
final float scaleFactor = (float)(Math.sqrt(h * h + w * w) / Math.min(w, h));
final float centerX = w / 2.0f;
final float centerY = h / 2.0f;
canvas.rotate(bearing, centerX, centerY);
canvas.scale(scaleFactor, scaleFactor, centerX, centerY);
}
super.dispatchDraw(canvas);
canvas.restore();
}
Run Code Online (Sandbox Code Playgroud) 在android中使用MapView,如何设置默认位置,以便每次加载此应用程序时,它会自动居中/缩放伦敦的位置?
我正在寻找一种方式,当用户长时间触摸mapview(比方说1000ms),我可以做一些特定的动作.
我将如何判断用户长时间触摸mapsview(或任何视图)的时间.
这将类似于Android谷歌地图应用程序,当你长时间触摸,它会带来气球覆盖项目.
编辑已添加
mapView.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View v) {
Toast.makeText(mapView.getContext(), "Hello 123", 2000);
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
以上不起作用......任何想法为什么?
这就是我现在正在尝试的,但它似乎不起作用,即使我只按手机,它说这个事件是一个action_move,
我在MapActivity中使用内部类
private long startTime=0;
private long endTime=0;
class MapOverlay extends Overlay {
@Override
public boolean onTouchEvent(MotionEvent ev, MapView mapView) {
if(ev.getAction() == MotionEvent.ACTION_DOWN){
//record the start time
startTime = ev.getEventTime();
Log.d("LC", "IN DOWN");
}else if(ev.getAction() == MotionEvent.ACTION_UP){
//record the end time
endTime = ev.getEventTime();
Log.d("LC", "IN UP");
}else if(ev.getAction() == MotionEvent.ACTION_MOVE){
Log.d("LC", "IN move");
endTime=0;
}
//verify …Run Code Online (Sandbox Code Playgroud) 我是一个新手android程序员.
让我给出一些背景信息.
我的项目使用ActionBarSherlock.
问题:
到目前为止我尝试过的:
所以,总结一下.从具有当前显示的mapview的活动(Activity1)转到另一个也包含另一个mapview的片段的活动(Activity2)时发生崩溃.但是,当从(Activity1)中显示的列表片段转到包含另一个映射片段的其他活动(Activity2)时,不会发生崩溃.
我希望这是足够的细节.如果您有任何疑问,请发表评论.
D/memalloc( 121): /dev/pmem: Allocated buffer base:0x4215c000 size:2088960 offset:4177920 fd:66
D/memalloc(30944): /dev/pmem: Mapped buffer base:0x5b4f5000 size:6266880 offset:4177920 fd:164
D/AndroidRuntime(30944): Shutting down VM
W/dalvikvm(30944): threadid=1: thread exiting with uncaught exception (group=0x40aaa228)
E/AndroidRuntime(30944): FATAL EXCEPTION: main
E/AndroidRuntime(30944): java.lang.IllegalStateException: Map has zero size
E/AndroidRuntime(30944): at android_maps_conflict_avoidance.com.google.googlenav.map.Map.drawMap(Map.java:818)
E/AndroidRuntime(30944): at com.google.android.maps.MapView.drawMap(MapView.java:1091)
E/AndroidRuntime(30944): at com.google.android.maps.MapView.onDraw(MapView.java:522)
E/AndroidRuntime(30944): at android.view.View.draw(View.java:11071)
E/AndroidRuntime(30944): at android.view.View.getDisplayList(View.java:10462)
E/AndroidRuntime(30944): at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2605)
E/AndroidRuntime(30944): …Run Code Online (Sandbox Code Playgroud) android google-maps android-fragments android-mapview android-fragmentactivity
我正在尝试获取我的debug.keystoremd5密钥,以便获取Google地图的API密钥.
我运行命令:
keytool –genkeypair -alias armand -keypass pass
Run Code Online (Sandbox Code Playgroud)
然后运行命令:
keytool -list -alias armand -keystore debug.keystore
Run Code Online (Sandbox Code Playgroud)
然后我输入我的密码,它给了我以下错误:
keytool error: java.lang.Exception: Alias <armand> does not exist
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
为什么CameraUpdateFactory类在我的项目中不起作用?如果应用程序执行以下命令,应用程序将崩溃:CameraUpdate pino = CameraUpdateFactory.newLatLng(new LatLng(location.getLatitude(),location.getLongitude())); 如果我删除该行(当然还有下一行),代码将成功启动并显示地图.我需要mapView,我需要使用新的api v2.我以这种方式在布局中声明mapView:
<com.google.android.gms.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/mappa"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_below="@+id/buttonBar"
map:uiZoomControls="false"
/>
Run Code Online (Sandbox Code Playgroud)
然后在mainActivity.java中我写了这个:
public class MainActivity extends FragmentActivity implements LocationListener, LocationSource {
public static boolean locatingMe=true;
public GoogleMap mappa;
public MapView mapView;
private OnLocationChangedListener onLocationChangedListener;
private LocationManager locationManager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mapView = (MapView) findViewById(R.id.mappa);
mapView.onCreate(savedInstanceState);
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
//You may want to pass a different provider in as the first arg here
//depending on the location accuracy that …Run Code Online (Sandbox Code Playgroud) 嗨我需要在onchangelocation()上调用一个事件,通过比较当前纬度和经度与一些保存的纬度和经度,但我得到一个错误.日食不识别关键词距离,并且对于校正错误它给出提示箱子方法"距离"有4参数...如何解决它?或其他一些方式做同样的工作???
感谢致敬.代码附在下面
@Override
public void onLocationChanged(Location location) {
double currentLat=location.getLatitude();
double currentLon=location.getLongitude();
if (distance(lat,lon,currentLat,currentLon)<2.0){
//do what you want to do...
}
}
Run Code Online (Sandbox Code Playgroud) 在以下示例中:
MapView显示ListView作为注释的元素ListView元素应导致画吧蓝颜色.MapView并且ListView有效地使用状态对象在修改属性时,修改DataSourceof ListView似乎会导致冲突active:
您试图在对象上设置值为'active'且值为'false',该对象是不可变的并且已被冻结.
设置国家的正确方法是什么?
'use strict';
import React, {Component} from 'react';
import {AppRegistry,View,ListView,MapView,Text,TouchableOpacity} from 'react-native';
var annotations = [
{
title: 'A',active: false,latitude: 45,longitude: 26,latitudeDelta: 0.015,longitudeDelta: 0.015,
},{
title: 'B',active: false,latitude: 49,longitude: 14,latitudeDelta: 0.015,longitudeDelta: 0.015,
},{
title: 'C',active: false,latitude: 26,longitude: 25,latitudeDelta: 0.015,longitudeDelta: 0.015,
}
]
class SampleApp extends Component {
constructor(props) {
super(props);
var ds = …Run Code Online (Sandbox Code Playgroud) 如何获取我在Android中长时间点击地图的特定位置的纬度和经度值?
android-mapview ×10
android ×8
google-maps ×4
java ×1
keytool ×1
listview ×1
map ×1
react-native ×1
reactjs ×1
rotation ×1
state ×1
touch ×1