标签: android-mapview

Android"你好,MapView"教程 - 地图瓷砖不加载

我是Android软件开发的新手,也是本网站的新用户.我希望有人可能对我遇到的问题有一些经验.

我一直在关注Hello,MapView教程,不仅要学习Android框架,还要学习Google Maps库.我已经尽力按照教程指示的方式完成实现.我的问题是应用程序确实在我的模拟器中加载(或者甚至在我的手机上加载),但地图图块不会加载.

搜索Google我发现另一个网站上的其他人发布了相同问题的帖子,但他/她的问题是添加到AndroidManifest.xml文件的重要元素的顺序不正确.我在里面仔细检查了这一点,但一切似乎都是正确的.

所以,我不确定问题是什么,并希望其他人以前见过这个.我可以提供任何代码片段,如果这会有所帮助.

谢谢.

android google-maps android-mapview

16
推荐指数
3
解决办法
3万
查看次数

在Android中旋转MapView

我正在编写一个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 google-maps map rotation android-mapview

16
推荐指数
2
解决办法
2万
查看次数

Android的; MapView,我该如何设置默认位置?

在android中使用MapView,如何设置默认位置,以便每次加载此应用程序时,它会自动居中/缩放伦敦的位置?

android android-2.2-froyo android-mapview

16
推荐指数
1
解决办法
1万
查看次数

如何判断android的长触?

我正在寻找一种方式,当用户长时间触摸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)

java android touch android-mapview

16
推荐指数
2
解决办法
2万
查看次数

Android - IllegalStateException:map的大小为零

我是一个新手android程序员.

让我给出一些背景信息.
我的项目使用ActionBarSherlock.

  1. 我有一个包含两个片段的活动(Activity1) - 一个SherlockListFragment和一个包含谷歌地图MapView(本质上是一个MapFragment)的SherlockFragment.
  2. 搜索结果显示在列表片段和地图片段中,操作栏选项按钮切换列表和地图之间当前显示的片段.
  3. 选择列表中的项目或搜索结果的地图会启动一个新活动(Activity2),显示所选项目的数据.
  4. 这个新活动有一个类似的流程:一个显示数据的片段,一个显示位置的地图片段 - 由一个操作栏选项按钮切换.

问题:

  1. 我可以在搜索结果(Activity1)列表片段中选择一个列表项,并且成功启动详细信息页面(Activity2).
  2. 当我从(Activity1)中的地图覆盖中选择一个地图项时,应用程序崩溃,我得到如下所示的堆栈跟踪.

到目前为止我尝试过的:

  1. 我搜索过"地图零大小"和相同搜索的许多排列,包括"android"和"illegalstateexception"以及堆栈跟踪的各种行,我检查了甚至与android没有关系但与之相关的结果谷歌地图apis一般,我没有找到任何地方或任何人遇到此错误,除了在这个网址http://www.androidpub.com/1551654但我不知道韩国,谷歌翻译没什么帮助.
  2. 我试图找到源代码的一些片段来看看发生了什么,但事实并非如此.
  3. 我在我的代码中添加了日志以尝试确定异常发生的位置,而我能够找到的所有内容都发生在(Activity2)细节活动开始后的某个时间,也就是在调用onCreate()之后.并且详细信息片段和地图片段都已在onCreate()中成功实例化了booth.我无法在我的代码中找到一个位置来捕获异常.因此,对于我能看到的所有内容,此异常似乎完全是谷歌MapView代码中的一个错误,但如果我在任何地方犯了错误,请显示它.我愿意向任何可以告诉我这里发生了什么的人提供帮助.

所以,总结一下.从具有当前显示的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

16
推荐指数
1
解决办法
2169
查看次数

Keytool别名不存在

我正在尝试获取我的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)

我究竟做错了什么?

android keytool android-mapview

15
推荐指数
2
解决办法
3万
查看次数

api v2中的mapview和cameraupdate

为什么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)

google-maps-api-2 android-mapview

15
推荐指数
1
解决办法
8861
查看次数

使用经度和纬度比较两个位置

嗨我需要在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)

android android-location android-mapview

15
推荐指数
2
解决办法
2万
查看次数

您试图在对象上设置密钥,该对象是不可变的并且已被冻结

在以下示例中:

  • MapView显示ListView作为注释的元素
  • 点击一个上ListView元素应导致画吧颜色.
  • 奖励如果MapView并且ListView有效地使用状态对象

在修改属性时,修改DataSourceof ListView似乎会导致冲突active:

您试图在对象上设置值为'active'且值为'false',该对象是不可变的并且已被冻结.

在此输入图像描述

设置国家的正确方法是什么?

RNPlay示例

'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)

listview state android-mapview reactjs react-native

15
推荐指数
1
解决办法
2万
查看次数

如何在Android中获取地图上的纬度和经度?

如何获取我在Android中长时间点击地图的特定位置的纬度和经度值?

android google-maps android-mapview

14
推荐指数
1
解决办法
2万
查看次数