【问题标题】:Android Google Maps OnInfoWindowClick keep icon from clicked markerAndroid Google Maps OnInfoWindowClick 保持图标不被点击标记
【发布时间】:2016-07-17 21:45:55
【问题描述】:

我想使用我在 AlertDialog 中单击的标记中的图标。对于标题,它的 .getTitle() 但是否有类似的方法可以为图标执行此操作? (我有另一种带有一堆 if 语句的方法,但它是草率的工作)

这是我的标记

final Marker d1 = mMap.addMarker(new MarkerOptions()
                    .position(Driver1)
                    .icon(BitmapDescriptorFactory.fromResource(R.drawable.driver1))
                    .title(DName1)
    );

这里是点击

    mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
        public void onInfoWindowClick(Marker marker) {
            //shit for dialog goes here i think
            new AlertDialog.Builder(ibMap.this)
                    .setTitle(marker.getTitle())
                    .setMessage("This Message isnt important")
                    .setCancelable(true)
                    .setIcon(R.drawable.driver1)
                    .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    dialog.cancel();
                                }
                            }

                    )
                    .setPositiveButton("Continue", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    startActivity(new Intent(ibMap.this, checkout.class));
                                }
                            }

                    ).create().show();

谢谢

【问题讨论】:

  • 如果您创建图像数组并使用 marker.getId() 使用位置设置。它可能是帮助。

标签: java android google-maps google-maps-api-3 google-maps-markers


【解决方案1】:

标记可以定义一个自定义图像来代替默认图标显示。定义图标涉及设置许多影响标记视觉行为的属性。

您可以将默认标记图像替换为custom marker image,,通常称为图标。自定义图标始终设置为 BitmapDescriptor,并使用 BitmapDescriptorFactory 类中的四种方法之一进行定义。

下面的 sn-p 创建一个带有自定义图标的标记。

  private static final LatLng MELBOURNE = new LatLng(-37.813, 144.962);
  private Marker melbourne = mMap.addMarker(new MarkerOptions()
                            .position(MELBOURNE)
                            .title("Melbourne")
                            .snippet("Population: 4,137,400")
                            .icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow)));

这是一个示例javascript code,我不知道这是不是你想要的。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-28
    • 1970-01-01
    • 2013-01-21
    • 1970-01-01
    • 2013-04-17
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多