java - 谷歌地图 : dynamic canvas drawing in mapview

标签 java android google-maps android-canvas

我目前无法在我的 map View 上动态添加标记,这当然是由于我缺乏 Java 知识:(

我应该给 Canvas 提供哪个参数才能完成这项工作? 当我输入坐标时, map 会转到我想要的地方,但我没有制造商

((Button)findViewById(R.id.goMap)).setOnClickListener(
                      new OnClickListener() {
                     @Override
                     public void onClick(View v) {



                            mapView.invalidate();
                        // On récupère notre EditText
                         EditText UserName = ((EditText)findViewById(R.id.getLon));
                         EditText Password = ((EditText)findViewById(R.id.getLat));

                         // On garde la chaîne de caractères
                          _lat = UserName.getText().toString();
                          _long = Password.getText().toString();

                         latTest =  Double.parseDouble(_lat)* 1E6;
                         longTest =  Double.parseDouble(_long)* 1E6;

                         p3 = new GeoPoint(
                                    (int) (latTest ), 
                                  (int) (longTest ));

                          //---add the marker---
                          Bitmap bmp3 = BitmapFactory.decodeResource(
                               getResources(), R.drawable.maps_position_marker); 
                          Canvas canvas= new Canvas();
                           canvas.drawBitmap(bmp3, screenP3ts.x-15, screenP3ts.y-30, null);


                         mapView.getProjection().toPixels(p3, screenP3ts);
                            mapController.animateTo(p3);
                            mapController.setCenter(p3);

                         Toast.makeText(TheMap.this, "lat=" + latTest + " et " + "long= " + longTest, Toast.LENGTH_SHORT).show();


                         }
                         });

在我的初始代码中,具有所需所有良好参数的覆盖层已加载到 onCreate () 方法中,并且工作正常,但正如我提到的,我不知道如何添加onclick () 方法中的标记。我知道我做错了,但我不知道该怎么做:(

提前致谢

最佳答案

在实际将纬度/经度转换为屏幕坐标之前,您正在使用 screenP3ts 绘制到 Canvas 上。你需要这个:

Bitmap bmp3 = BitmapFactory.decodeResource(
        getResources(), R.drawable.maps_position_marker); 
Canvas canvas= new Canvas();

mapView.getProjection().toPixels(p3, screenP3ts);
canvas.drawBitmap(bmp3, screenP3ts.x-15, screenP3ts.y-30, null);

关于java - 谷歌地图 : dynamic canvas drawing in mapview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9214939/

相关文章:

java - 如何接受 Enter 作为 Scanner.nextLine() 的有效输入?

Java在列表末尾添加

javascript - 如何添加到Android移动设备的 'Add to homescreen'弹出窗口

python - 如何使用python获取纬度和经度

javascript - Google Maps API,添加标记是否会影响使用限制?

php - 半径/最近的结果 - Google Maps API

java - AsyncTask 中的循环器

java - android中,开发sdk时如何保护敏感数据或如何对请求进行鉴权

android - 使用 onPopulateAccessibilityEvent 和 AccessibilityDelegate 自定义 recyclerview 中的可访问性

android - 我怎样才能让屏幕空闲监听器?