Android-Google Maps V2-将自定义信息窗口添加到从数组创建的标记中

杜兰加贾亚瓦德纳

我想创建一个可以从数据库接收一组点并为地图上的每个点添加标记的应用。我目前正在使用对象数组进行测试。我在循环中使用了相同的标记变量,将标记放置在地图上。

包含我的标记位置的数组还包含有关这些特定位置的其他一些数据,这些内容要在触摸标记时在自定义信息窗口(从数组中获取其数据)中调出。

我不确定在调用此信息窗口时应如何区分不同的标记。

developers.google.com上的OnMarkerClickListener文档

我添加标记的代码:

for (pointNumber= 0; pointNumber<pointArray.length; pointNumber++) {
    taxiLatitude = pointArray[pointNumber].position.latitude;
    taxiLongitude = pointArray[pointNumber].position.longitude;

    if (valueInArray<someValue) {
        pointMarker = mMap.addMarker(new MarkerOptions()
            .position(new LatLng(pointArray[pointNumber].position.latitude, carsArray[pointNumber].position.longitude))
            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN))
            .title("Title: "+pointArray[pointNumber].pointTitle)
            .snippet("Snippet: "+pointArray[pointNumber].pointSnippet));
    } else {
        System.out.println("Out of range");
    }
}

我的代码将数据添加到我的自定义信息窗口,这我在这里

class CustomWindowAdapter implements GoogleMap.InfoWindowAdapter {
    LayoutInflater mInflater;
    public CustomWindowAdapter(LayoutInflater i){
        mInflater = i;
    }

    @Override
    public View getInfoContents(Marker marker) {
        // Getting view from the layout file
        View v = mInflater.inflate(R.layout.custom_window_layout, null);
        // Populate fields
        ImageView image = (ImageView) v.findViewById(R.id.image);
        image.setImageResource(pointArray[pointNumber].image);

        TextView title = (TextView) v.findViewById(R.id.tv_1);
        title.setText(pointArray[pointNumber].text1);

        TextView description = (TextView) v.findViewById(R.id.text_2);
        description.setText(pointArray[pointNumber].text2);
        }
        // Return info window contents
        return v;      

    @Override
    public View getInfoWindow(Marker marker) {
        return null;
    }
}
布兰登·扎穆迪奥

您必须实现一个HashMap,realx,非常简单,我将向您展示如何识别所有标记:

使用键类型String和对象类型Marker创建HashMap:

HashMap<String,Marker> hashMarkers = new HashMap<>();

将标记添加到由数字标识的哈希图中(转换为字符串):

for (int x= 0; x < yourArray.length; x++) {
        hashMarkers.put(String.valueOf(x), mMap.addMarker(new MarkerOptions()
                .position( your array (or arrays) of positions(s) )
    }

然后,您可以识别所需的每个标记:

mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
                @Override
                public boolean onMarkerClick(Marker marker) {
                    if (marker.equals(hashMarkers.get("the number of the marker"))) {
                        //here you can call your custom infoWindow or set the content 
                        return true;
                    } else {
                        return false;
                    }
                }
            });

希望这对您有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google Maps API v2中的自定义彩色绘图作为地图标记-Android

来自分类Dev

Google Maps Android API v2

来自分类Dev

如何更改Google Map v2 android中的信息窗口(自定义)位置?

来自分类Dev

通过网址在Google Maps v2 Android上设置标记图标

来自分类Dev

如何从信息窗口打开新活动(或对话框或链接)-Google Maps v2 Android

来自分类Dev

在Android,Google Maps v2中绘制实时路线

来自分类Dev

使用Android Google Maps v2绘制自定义路线

来自分类Dev

Google Android Maps v2 MetersToEquatorPixel

来自分类Dev

更改OnMylocationButtonClick在Google Maps v2 Android中缩放

来自分类Dev

使标记带有自定义信息,以供单击时使用(Android,Google Maps v2)

来自分类Dev

在Google Maps v2 Android上添加标记

来自分类Dev

Android Google Maps v2从JSON数组php mySQL添加地图标记

来自分类Dev

Google Map返回nullpointerexception Google Maps Android V2

来自分类Dev

在Google Maps API v2 Android中添加多个标记

来自分类Dev

如何在Google Maps V2 Android中指定“标记”上图标的大小

来自分类Dev

Android Google Maps v2测试

来自分类Dev

Android Google Maps API V2中心标记

来自分类Dev

Google Maps Android API v2中带有文字的地图标记

来自分类Dev

空白的Android Google Maps v2

来自分类Dev

Google Maps Android API v2

来自分类Dev

如何更改Google Map v2 android中的信息窗口(自定义)位置?

来自分类Dev

Android Google Maps v2导航

来自分类Dev

使用Android Google Maps v2绘制自定义路线

来自分类Dev

Android Google Maps V2中的最近路径

来自分类Dev

实时添加多个标记Google Maps v2 android

来自分类Dev

在Android上将自定义页脚按钮添加到Google Maps Marker

来自分类Dev

Android Google Maps v2从JSON数组php mySQL添加地图标记

来自分类Dev

Google Maps API v2 Android中的动态缩放

来自分类Dev

Google Map返回nullpointerexception Google Maps Android V2

Related 相关文章

  1. 1

    Google Maps API v2中的自定义彩色绘图作为地图标记-Android

  2. 2

    Google Maps Android API v2

  3. 3

    如何更改Google Map v2 android中的信息窗口(自定义)位置?

  4. 4

    通过网址在Google Maps v2 Android上设置标记图标

  5. 5

    如何从信息窗口打开新活动(或对话框或链接)-Google Maps v2 Android

  6. 6

    在Android,Google Maps v2中绘制实时路线

  7. 7

    使用Android Google Maps v2绘制自定义路线

  8. 8

    Google Android Maps v2 MetersToEquatorPixel

  9. 9

    更改OnMylocationButtonClick在Google Maps v2 Android中缩放

  10. 10

    使标记带有自定义信息,以供单击时使用(Android,Google Maps v2)

  11. 11

    在Google Maps v2 Android上添加标记

  12. 12

    Android Google Maps v2从JSON数组php mySQL添加地图标记

  13. 13

    Google Map返回nullpointerexception Google Maps Android V2

  14. 14

    在Google Maps API v2 Android中添加多个标记

  15. 15

    如何在Google Maps V2 Android中指定“标记”上图标的大小

  16. 16

    Android Google Maps v2测试

  17. 17

    Android Google Maps API V2中心标记

  18. 18

    Google Maps Android API v2中带有文字的地图标记

  19. 19

    空白的Android Google Maps v2

  20. 20

    Google Maps Android API v2

  21. 21

    如何更改Google Map v2 android中的信息窗口(自定义)位置?

  22. 22

    Android Google Maps v2导航

  23. 23

    使用Android Google Maps v2绘制自定义路线

  24. 24

    Android Google Maps V2中的最近路径

  25. 25

    实时添加多个标记Google Maps v2 android

  26. 26

    在Android上将自定义页脚按钮添加到Google Maps Marker

  27. 27

    Android Google Maps v2从JSON数组php mySQL添加地图标记

  28. 28

    Google Maps API v2 Android中的动态缩放

  29. 29

    Google Map返回nullpointerexception Google Maps Android V2

热门标签

归档