Android的谷歌地图 - 点击的标记打开新的活动或更大的窗口 [英] Android Google Map - Clicked marker opens new activity or bigger window

查看:193
本文介绍了Android的谷歌地图 - 点击的标记打开新的活动或更大的窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在寻找关于实​​施OnMarkerClickListener但没有我发现曾寻求帮助。这是我下面的标志,当点击它仅改变颜色(浅蓝色)。我在寻找它打开一个更大的窗口,这样我就可以把更多的信息。这可能吗?

I've been searching for help on implementing OnMarkerClickListener but nothing I've found has worked. This is my marker below and when clicked it only changes colour(light blue). I'm looking for it to open a bigger window so I can put in more info. Is this possible?

     googlemap.addMarker(new MarkerOptions()
    .position(new LatLng(49.378,-0.3904))
    .title("Hello World")
    .snippet("This is my test app")    
    .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE)));

标记正常工作上面我的地图,但现在我想点击该标记,并为它打开一个新的活动/页或更大的窗口,什么都比较容易的工作。因为我是一个真正的新手在制作应用程序,如果任何人谁已经成功地得到了一个工作示例,请你能不能把一个链接或一些code。

The marker works fine above on my Map but now I would like to click on the marker and for it to open a new activity/page or a bigger window, what ever is easier to work with. As I am a real novice at making apps, If anyone who has successfully got a working example please could you put up a link or some code.

在此先感谢!

修改

这是建议,教程,我已经改变了一些MainActivity.java的。

From the tutorial that was suggested I have changed some of the MainActivity.java.

我在OnMarkerClickListener添加并选择了未实现的方法添加到公共类

I've added in OnMarkerClickListener and have chosen to add unimplemented methods to the Public Class

  public class MainActivity extends Activity implements LocationListener, OnMarkerClickListener {

下方私人无效setUpMap()我已经加入到我的code:专用标记myMarker的setonMarkerclick监听器和myMarker =,

Underneath private void setUpMap() I have added to my code: private Marker myMarker, the setonMarkerclick listener and myMarker =, :

       private Marker myMarker;
         {
googlemap.setOnMarkerClickListener(this);

myMarker = googlemap.addMarker(new MarkerOptions()
    .position(new LatLng(LatLng))
    .title("Hello World")
    .snippet("My First App")    
    .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE)));

 }

在底部我有未实现的方法:

In the unimplemented method at the bottom I have:

   @Override
   public boolean onMarkerClick(Marker arg0) {
// TODO Auto-generated method stub 

return false;

我需要什么公共布尔OnMarkerClick部分改变? 我没有得到任何错误,但它只是不工作。还有什么我要补充或更改?

What do I need to change in the public Boolean OnMarkerClick part? I'm not getting any errors but its just not working. What else do I have to add in or change?

任何帮助是AP preciated!

Any help is appreciated!

推荐答案

标记的单击事件

<一个href="http://stackoverflow.com/questions/14497734/dont-snap-to-marker-after-click-in-android-map-v2">Don't点击在Android的地图V2

从上面的帖子引用

您可以使用 OnMarkerClickListener 来侦听标记click事件。要设置该监听器在地图上,调用GoogleMap.setOnMarkerClickListener(OnMarkerClickListener)。当用户点击一个标记,onMarkerClick(标记)将被调用,该标记将作为参数通过。该方法返回一个布尔值,指示是否已消耗的情况下(比如,你想晚饭preSS的默认行为)。如果返回false,那么默认的行为将发生在除了你的自定义行为。一个标记click事件的默认行为是显示其信息窗口(如果可用)和移动相机,使得标记物为中心在地图上。

You can use an OnMarkerClickListener to listen for click events on the marker. To set this listener on the map, call GoogleMap.setOnMarkerClickListener(OnMarkerClickListener). When a user clicks on a marker, onMarkerClick(Marker) will be called and the marker will be passed through as an argument. This method returns a boolean that indicates whether you have consumed the event (i.e., you want to suppress the default behavior). If it returns false, then the default behavior will occur in addition to your custom behavior. The default behavior for a marker click event is to show its info window (if available) and move the camera such that the marker is centered on the map.

<一个href="https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/GoogleMap.OnMarkerClickListener">https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/GoogleMap.OnMarkerClickListener.

使用OnMarkerClickListener您的标记。

Use OnMarkerClickListener on your marker.

检查链接,code片段

Check the link for code snippets

<一个href="http://stackoverflow.com/questions/14226453/google-maps-api-v2-how-to-make-markers-clickable">Google地图API第2版:如何使标志物可点击

例:在我的手机作品

        Marker source,destination; 
        GoogleMap mMap; 
        mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
                                .getMap(); 
        source = mMap.addMarker(new MarkerOptions()
                .position(sc)
                .title("MyHome")
                .snippet("Bangalore")    
                .icon(BitmapDescriptorFactory.fromResource(R.drawable.pin)));

         destination= mMap.addMarker(new MarkerOptions()
                .position(lng)
                .title("MapleBear Head Office")
                .snippet("Jayanager")
                .icon(BitmapDescriptorFactory.fromResource(R.drawable.pin)));
                mMap.setOnMarkerClickListener(new OnMarkerClickListener()
                {

                    @Override
                    public boolean onMarkerClick(Marker arg0) {
                        if(arg0.getTitle().equals("MyHome")) // if marker source is clicked
                             Toast.makeText(MainActivity.this, arg0.getTitle(), Toast.LENGTH_SHORT).show();// display toast
                        return true;
                    }

                });       

这篇关于Android的谷歌地图 - 点击的标记打开新的活动或更大的窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆