android高德地圖根據經緯度添加標注(Marker)


onCreate方法中添加 :

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mapView.onCreate(savedInstanceState);//mapView為高德地圖 MapView
        //AMap是地圖對象
        aMap = mapView.getMap();//得到AMap對象 latitude 維度 longitude 精度 經緯度設置成自己的經緯度即可
        CameraPosition cameraPosition = new CameraPosition(new LatLng(this.latitude, this.longitude), 15, 0, 30);
        CameraUpdate cameraUpdate = CameraUpdateFactory.newCameraPosition(cameraPosition); aMap.moveCamera(cameraUpdate);
     //添加標注 addMarkers(); }

添加標注(marker)

/**
     * 添加標注
     */
    private void addMarkers() {
        MarkerOptions markerOptions = new MarkerOptions();
        markerOptions.anchor(1.3f, 1.5f);//點標記的錨點
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
                R.mipmap.icon_map_add);
        markerOptions.icon(BitmapDescriptorFactory
                .fromBitmap(bitmap));
        markerOptions.position(new LatLng(latitude, longitude));
        Marker growMarker = aMap.addMarker(markerOptions);
        growMarker.setClickable(true); //marker 設置是否可點擊
        startGrowAnimation(growMarker);
        growMarker.showInfoWindow();
    }

添加標注的生長動畫效果:

 private void startGrowAnimation(Marker marker) {

        if (marker != null) {
            Animation animation = new ScaleAnimation(0, 1, 0, 1);
            animation.setInterpolator(new LinearInterpolator());
            //整個移動所需要的時間
            animation.setDuration(1000);
            animation.setFillMode(1);//動畫保存之前的狀態為1 之后為0
            //設置動畫
            marker.setAnimation(animation);
            //開始動畫
            marker.startAnimation();
            marker.showInfoWindow();
        }
    }

最后onDestyoy銷毀:

  @Override
    protected void onDestroy() {
        super.onDestroy();
        mapView.onDestroy();
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM