Java源码示例:com.baidu.mapapi.map.Marker

示例1
/**
 * 缩放地图,使所有Overlay都在合适的视野内
 * <p>
 * 注: 该方法只对Marker类型的overlay有效
 * </p>
 */
public void zoomToSpan() {
    if (mBaiduMap == null) {
        return;
    }
    if (mOverlayList.size() > 0) {
        LatLngBounds.Builder builder = new LatLngBounds.Builder();
        for (Overlay overlay : mOverlayList) {
            // polyline 中的点可能太多,只按marker 缩放
            if (overlay instanceof Marker) {
                builder.include(((Marker) overlay).getPosition());
            } else if (overlay instanceof Polyline) {
                Polyline polyline = (Polyline) overlay;
                if (null != polyline.getPoints() && !polyline.getPoints().isEmpty()) {
                    builder.include(polyline.getPoints().get(0));
                    builder.include(polyline.getPoints().get((polyline.getPoints().size() - 1) / 2));
                    if (polyline.getPoints().size() > 2) {
                        builder.include(polyline.getPoints().get(polyline.getPoints().size() - 1));
                    }
                }
            }
        }
        mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newLatLngBounds(builder.build()));
    }
}
 
示例2
/**
 * 缩放地图,使所有Overlay都在合适的视野内
 * <p>
 * 注: 该方法只对Marker类型的overlay有效
 * </p>
 */
public void zoomToSpan() {
    if (mBaiduMap == null) {
        return;
    }
    if (mOverlayList.size() > 0) {
        LatLngBounds.Builder builder = new LatLngBounds.Builder();
        for (Overlay overlay : mOverlayList) {
            // polyline 中的点可能太多,只按marker 缩放
            if (overlay instanceof Marker) {
                builder.include(((Marker) overlay).getPosition());
            } else if (overlay instanceof Polyline) {
                Polyline polyline = (Polyline) overlay;
                if (null != polyline.getPoints() && !polyline.getPoints().isEmpty()) {
                    builder.include(polyline.getPoints().get(0));
                    builder.include(polyline.getPoints().get((polyline.getPoints().size() - 1) / 2));
                    if (polyline.getPoints().size() > 2) {
                        builder.include(polyline.getPoints().get(polyline.getPoints().size() - 1));
                    }
                }
            }
        }
        mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newLatLngBounds(builder.build()));
    }
}
 
示例3
/**
 * 定位接收到的地址
 **/
private void locationReceiveAddress() {
    if (receiveAddress == null) {
        return;
    }
    LatLng p = new LatLng(receiveAddress.getLatitude(), receiveAddress.getLongitude());
    MarkerOptions markerOptions = new MarkerOptions();
    /* 设置覆盖物图标 */
    markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_openmap_focuse_mark))
            .position(p)
            .visible(true);
    baiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {
        @Override
        public boolean onMarkerClick(Marker marker) {
            setSinglePoiDetail();
            return true;
        }
    });
    if (NetUtil.getInstance(SetFavoriteMapActivity.this).getCurrentNetType().equals(NetUtil.NetType.NETWORK_TYPE_NONE)) {
        // Snackbar.make(mAmosfPoiList,mAppConfig.getResources().getString(R.string.no_network), Snackbar.LENGTH_SHORT).show();
        return;
    }
    /* 添加覆盖图层 */
    baiduMap.addOverlay(markerOptions);
    baiduMap.setMapStatus(MapStatusUpdateFactory.newLatLngZoom(p, 17F));
}
 
示例4
/**
 * 缩放地图,使所有Overlay都在合适的视野内
 * <p>
 * 注: 该方法只对Marker类型的overlay有效
 * </p>
 * 
 */
public void zoomToSpan() {
    if (mBaiduMap == null) {
        return;
    }
    if (mOverlayList.size() > 0) {
        LatLngBounds.Builder builder = new LatLngBounds.Builder();
        for (Overlay overlay : mOverlayList) {
            // polyline 中的点可能太多,只按marker 缩放
            if (overlay instanceof Marker) {
                builder.include(((Marker) overlay).getPosition());
            }
        }
        mBaiduMap.setMapStatus(MapStatusUpdateFactory
                .newLatLngBounds(builder.build()));
    }
}
 
示例5
@Override
public boolean onMarkerClick(Marker marker) {
    Log.d("lml", "MapFragment:覆盖物被点击");
    baiduMap.hideInfoWindow();
    if (marker != null) {
        latLngshow = marker.getPosition();
        reverseGeoCodeOption.location(latLngshow);
        geoCoder.reverseGeoCode(reverseGeoCodeOption);
        tvAddOverlayGeoCoder.setText("正在获取详细位置");
        bundle = marker.getExtraInfo();

        generalIsMale = bundle.getString("general").equals("m");
        layoutAddOverlayRadarNearbyItem.setBackgroundColor(getResources().getColor(generalIsMale ? R.color.blue : R.color.pink));
        imageViewAddOverlayItem.setImageResource(generalIsMale ? R.mipmap.map_portrait_man : R.mipmap.map_portrait_woman);
        tvAddOverlayItemUserID.setText(bundle.getString("userID"));
        tvAddOverlayItemDistance.setText("距离" + bundle.getInt("distance") + "米        ");
        tvAddOverlayItemLatlng.setText("坐标:   " + latLngshow.latitude + "  ,  " + latLngshow.longitude + "           ");
        Log.d("lml", "MapFragment显示的信息:" + bundle.getString("userID"));
        Log.d("lml", bundle.getString("general") + ";" + generalIsMale);
        baiduMap.showInfoWindow(new InfoWindow(viewOverlayItem, marker.getPosition(), -70));
        MapStatusUpdate update = MapStatusUpdateFactory.newLatLng(marker.getPosition());
        baiduMap.animateMapStatus(update);
        return true;
    } else
        return false;
}
 
示例6
@Override
public boolean onMarkerClick(Marker marker) {
    WritableMap writableMap = Arguments.createMap();
    WritableMap position = Arguments.createMap();
    position.putDouble("latitude", marker.getPosition().latitude);
    position.putDouble("longitude", marker.getPosition().longitude);
    writableMap.putMap("position", position);
    writableMap.putString("title", marker.getTitle());
    OverlayMarker overlayMarker = MapViewManager.findOverlayMaker(marker);
    mapView.getMap().hideInfoWindow();
    if (overlayMarker != null) {
        InfoWindow infoWindow = overlayMarker.getInfoWindow(marker.getPosition());
        if (infoWindow != null) {
            mapView.getMap().showInfoWindow(infoWindow);
        }
        reactContext
                .getJSModule(RCTEventEmitter.class)
                .receiveEvent(overlayMarker.getId(),
                        "topClick", writableMap.copy());
    }
    sendEvent(mapView, "onMarkerClick", writableMap);
    return true;
}
 
示例7
/**
 * 缩放地图,使所有Overlay都在合适的视野内
 * <p>
 * 注: 该方法只对Marker类型的overlay有效
 * </p>
 */
public void zoomToSpan() {
    if (mBaiduMap == null) {
        return;
    }
    if (mOverlayList.size() > 0) {
        LatLngBounds.Builder builder = new LatLngBounds.Builder();
        for (Overlay overlay : mOverlayList) {
            // polyline 中的点可能太多,只按marker 缩放
            if (overlay instanceof Marker) {
                builder.include(((Marker) overlay).getPosition());
            }
        }
        MapStatus mapStatus = mBaiduMap.getMapStatus();
        if (null != mapStatus){
            int width = mapStatus.winRound.right - mBaiduMap.getMapStatus().winRound.left - 400;
            int height = mapStatus.winRound.bottom - mBaiduMap.getMapStatus().winRound.top - 400;
            mBaiduMap.setMapStatus(MapStatusUpdateFactory
                    .newLatLngBounds(builder.build(), width, height));
        }

    }
}
 
示例8
/**
 * 设置显示在规定宽高中的地图地理范围
 */
public void zoomToSpanPaddingBounds(int paddingLeft, int paddingTop, int paddingRight, int paddingBottom) {
    if (mBaiduMap == null) {
        return;
    }
    if (mOverlayList.size() > 0) {
        LatLngBounds.Builder builder = new LatLngBounds.Builder();
        for (Overlay overlay : mOverlayList) {
            // polyline 中的点可能太多,只按marker 缩放
            if (overlay instanceof Marker) {
                builder.include(((Marker) overlay).getPosition());
            }
        }

        mBaiduMap.setMapStatus(MapStatusUpdateFactory
                .newLatLngBounds(builder.build(), paddingLeft, paddingTop, paddingRight, paddingBottom));
    }
}
 
示例9
@Override
public final boolean onMarkerClick(Marker marker) {
    for (Overlay mMarker : mOverlayList) {
        if (mMarker instanceof Marker && mMarker.equals(marker)) {
            if (marker.getExtraInfo() != null) {
                onRouteNodeClick(marker.getExtraInfo().getInt("index"));
            }
        }
    }
    return true;
}
 
示例10
public final boolean onMarkerClick(Marker marker) {
    if (mOverlayList != null && mOverlayList.contains(marker)) {
        return onBusStationClick(mOverlayList.indexOf(marker));
    } else {
        return false;
    }

}
 
示例11
@Override
public final boolean onMarkerClick(Marker marker) {
    for (Overlay mMarker : mOverlayList) {
        if (mMarker instanceof Marker && mMarker.equals(marker)) {
            if (marker.getExtraInfo() != null) {
                onRouteNodeClick(marker.getExtraInfo().getInt("index"));
            }
        }
    }
    return true;
}
 
示例12
@Override
public final boolean onMarkerClick(Marker marker) {
    for (Overlay mMarker : mOverlayList) {
        if (mMarker instanceof Marker && mMarker.equals(marker)) {
            if (marker.getExtraInfo() != null) {
                onRouteNodeClick(marker.getExtraInfo().getInt("index"));
            }
        }
    }
    return true;
}
 
示例13
@Override
public final boolean onMarkerClick(Marker marker) {
    for (Overlay mMarker : mOverlayList) {
        if (mMarker instanceof Marker && mMarker.equals(marker)) {
            if (marker.getExtraInfo() != null) {
                onRouteNodeClick(marker.getExtraInfo().getInt("index"));
            }
        }
    }
    return true;
}
 
示例14
@Override
public boolean onMarkerClick(Marker marker) {
    if (mIsModeRanging) {
        MyPoiModel poi = new MyPoiModel(TypeMap.TYPE_BAIDU);
        poi.setLatitude(marker.getPosition().latitude);
        poi.setLongitude(marker.getPosition().longitude);

        if (null == mPoiList) {
            mPoiList = new ArrayList<>();
        }
        mPoiList.add(poi);

        makeRangingMarker(poi);
        setRangingPolyLine();
    } else {
        int distance = 0;
        if (null != BApp.MY_LOCATION) {
            distance = (int) DistanceUtil.getDistance(new LatLng(BApp.MY_LOCATION.getLatitude(), BApp.MY_LOCATION.getLongitude()), marker.getPosition());
        }

        if (null == clickMapPoiNow) {
            clickMapPoiNow = new MyPoiModel(TypeMap.TYPE_BAIDU);
        }
        clickMapPoiNow.setTypeMap(TypeMap.TYPE_BAIDU);
        clickMapPoiNow.setName(marker.getTitle());
        clickMapPoiNow.setLongitude(marker.getPosition().longitude);
        clickMapPoiNow.setLatitude(marker.getPosition().latitude);
        ((MainActivity) getActivity()).showPoiLay(clickMapPoiNow, distance);

        mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newLatLng(new LatLng(clickMapPoiNow.getLatitude(), clickMapPoiNow.getLongitude())));
    }


    return true;
}
 
示例15
@Override
public boolean onMarkerClick(Marker marker) {
    if (null == marker.getTitle() || marker.getTitle().isEmpty()) {
        return true;
    }
    showAlertDialog("提示", marker.getTitle(), new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {

        }
    }, null);
    return true;
}
 
示例16
@Override
public final boolean onMarkerClick(Marker marker) {
    for (Overlay mMarker : mOverlayList) {
        if (mMarker instanceof Marker && mMarker.equals(marker)) {
            if (marker.getExtraInfo() != null) {
                onRouteNodeClick(marker.getExtraInfo().getInt("index"));
            }
        }
    }
    return true;
}
 
示例17
public final boolean onMarkerClick(Marker marker) {
    if (mOverlayList != null && mOverlayList.contains(marker)) {
        return onBusStationClick(mOverlayList.indexOf(marker));
    } else {
        return false;
    }

}
 
示例18
@Override
public final boolean onMarkerClick(Marker marker) {
    for (Overlay mMarker : mOverlayList) {
        if (mMarker instanceof Marker && mMarker.equals(marker)) {
            if (marker.getExtraInfo() != null) {
                onRouteNodeClick(marker.getExtraInfo().getInt("index"));
            }
        }
    }
    return true;
}
 
示例19
@Override
public final boolean onMarkerClick(Marker marker) {
    for (Overlay mMarker : mOverlayList) {
        if (mMarker instanceof Marker && mMarker.equals(marker)) {
            if (marker.getExtraInfo() != null) {
                onRouteNodeClick(marker.getExtraInfo().getInt("index"));
            }
        }
    }
    return true;
}
 
示例20
@Override
public final boolean onMarkerClick(Marker marker) {
    for (Overlay mMarker : mOverlayList) {
        if (mMarker instanceof Marker && mMarker.equals(marker)) {
            if (marker.getExtraInfo() != null) {
                onRouteNodeClick(marker.getExtraInfo().getInt("index"));
            }
        }
    }
    return true;
}
 
示例21
@Override
public boolean onMarkerClick(Marker marker) {
    if (mIsModeRanging) {
        MyPoiModel poi = new MyPoiModel(TypeMap.TYPE_BAIDU);
        poi.setLatitude(marker.getPosition().latitude);
        poi.setLongitude(marker.getPosition().longitude);

        if (null == mPoiList) {
            mPoiList = new ArrayList<>();
        }
        mPoiList.add(poi);

        makeRangingMarker(poi);
        setRangingPolyLine();
    } else {
        int distance = 0;
        if (null != BApp.MY_LOCATION) {
            distance = (int) DistanceUtil.getDistance(new LatLng(BApp.MY_LOCATION.getLatitude(), BApp.MY_LOCATION.getLongitude()), marker.getPosition());
        }

        if (null == clickMapPoiNow) {
            clickMapPoiNow = new MyPoiModel(TypeMap.TYPE_BAIDU);
        }
        clickMapPoiNow.setTypeMap(TypeMap.TYPE_BAIDU);
        clickMapPoiNow.setName(marker.getTitle());
        clickMapPoiNow.setLongitude(marker.getPosition().longitude);
        clickMapPoiNow.setLatitude(marker.getPosition().latitude);
        ((MainActivity) getActivity()).showPoiLay(clickMapPoiNow, distance);

        mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newLatLng(new LatLng(clickMapPoiNow.getLatitude(), clickMapPoiNow.getLongitude())));
    }


    return true;
}
 
示例22
@Override
public boolean onMarkerClick(Marker marker) {
    if (null == marker.getTitle() || marker.getTitle().isEmpty()) {
        return true;
    }
    showAlertDialog("提示", marker.getTitle(), new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {

        }
    }, null);
    return true;
}
 
示例23
/**
 * initOverlay 设置覆盖物,这里就是地图上那个点
 */
private void initOverlay() {
    LatLng ll = new LatLng(AppApplication.mMockGps.mLatitude, AppApplication.mMockGps.mLongitude);
    OverlayOptions oo = new MarkerOptions().position(ll).icon(bd).zIndex(9)
            .draggable(true);
    mMarker = (Marker) (mBaiduMap.addOverlay(oo));
}
 
示例24
@Override
public final boolean onMarkerClick(Marker marker) {
    if (!mOverlayList.contains(marker)) {
        return false;
    }
    if (marker.getExtraInfo() != null) {
        return onPoiClick(marker.getExtraInfo().getInt("index"));
    }
    return false;
}
 
示例25
@Override
public final boolean onMarkerClick(Marker marker) {
    for (Overlay mMarker : mOverlayList) {
        if (mMarker instanceof Marker && mMarker.equals(marker)) {
            if (marker.getExtraInfo() != null) {
                onRouteNodeClick(marker.getExtraInfo().getInt("index"));
            }
        }
    }
    return true;
}
 
示例26
@Override
public final boolean onMarkerClick(Marker marker) {
    if (!mOverlayList.contains(marker)) {
        return false;
    }
    if (marker.getExtraInfo() != null) {
        return onPoiClick(marker.getExtraInfo().getInt("index"));
    }
    return false;
}
 
示例27
public final boolean onMarkerClick(Marker marker) {
    if (mOverlayList != null && mOverlayList.contains(marker)) {
        return onBusStationClick(mOverlayList.indexOf(marker));
    } else {
        return false;
    }
    
}
 
示例28
@Override
public final boolean onMarkerClick(Marker marker) {
    for (Overlay mMarker : mOverlayList) {
        if (mMarker instanceof Marker && mMarker.equals(marker)) {
            if (marker.getExtraInfo() != null) {
                onRouteNodeClick(marker.getExtraInfo().getInt("index"));
            }
        }
    }
    return true;
}
 
示例29
@Override
public final boolean onMarkerClick(Marker marker) {
    for (Overlay mMarker : mOverlayList) {
        if (mMarker instanceof Marker && mMarker.equals(marker)) {
            if (marker.getExtraInfo() != null) {
                onRouteNodeClick(marker.getExtraInfo().getInt("index"));
            }
        }
    }
    return true;
}
 
示例30
@Override
public final boolean onMarkerClick(Marker marker) {
    for (Overlay mMarker : mOverlayList) {
        if (mMarker instanceof Marker && mMarker.equals(marker)) {
            if (marker.getExtraInfo() != null) {
                onRouteNodeClick(marker.getExtraInfo().getInt("index"));
            }
        }
    }
    return true;
}