为每个新标记添加标题

时间:2017-01-23 11:06:14

标签: java android google-maps

我的应用程序在地图上标记了点,我想在每个新添加的标记处显示一个输入标记标题的窗口。 在任何地方我都找不到这样的指南,有人有什么想法吗? Currenlty我只能制作这样的简单标题:

MarkerOptions options = new MarkerOptions()
        .position(position)
        .title("something");

但它会自动为每个点添加相同的名称。

2 个答案:

答案 0 :(得分:1)

为输入创建edittext警告对话框。 在OnMapClickListener onMapClick方法中,打开一个警告对话框以进行输入。

AlertDialog.Builder alertDialog=new AlertDialog.Builder(MapsActivity.this);
        alertDialog.setTitle("Marker Title !");
        alertDialog.setMessage("Enter the title");
        final EditText editText=new EditText(MapsActivity.this);
        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.MATCH_PARENT);
        editText.setLayoutParams(lp);
        alertDialog.setView(editText);


      alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
            String name=editText.getText().toString();
                if (name.trim().compareTo("")==0) {
                    Toast.makeText(MapsActivity.this, "Enter the tile !", Toast.LENGTH_SHORT).show();
                }

                else{
     MarkerOptions options = new MarkerOptions()
        .position(latLng)
        .title(name);
                }
            }
        });
 alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

            }
        });
        alertDialog.show();

答案 1 :(得分:0)

使用特定的LatLng绘制该标记的标题,为每个新Latlng提供标题:

googleMap.addMarker(new MarkerOptions()
            .position(your_latLng_for_everyMarker)
            .draggable(false)
            .title("something"));