我知道在这个主题上有一些线索,但我还没有找到一个足够好的解决方案.
我需要在所有其他标记的顶部放置一个标记.我该怎么做呢?
我尝试在所有其他标记之前和之后添加此标记,但是顺序似乎是从地图视图的底部(前面)到顶部(后面).这是不可接受的,因为我想以所有标记前面的标记为中心.
我知道Polygons可以zorrdered但我更喜欢一个漂亮的图形!
实际上你不能在标记上订购多边形!
"相对于其他叠加层绘制此多边形的顺序,包括Polylines,GroundOverlays和TileOverlays,但不包括Markers.具有较大z-index的叠加层将绘制在具有较小z-indices的叠加层上.相同的z-index值是任意的.默认值为0." - https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/model/Polygon
有没有人对此有任何想法?
我有2个功能如下:
function addMarker() {
marker = new google.maps.Marker({
position: Gpoint,
map: map,
draggable: true,
animation: google.maps.Animation.DROP
});
map.panTo(Gpoint);
google.maps.event.addListener(marker, "rightclick",
function (point) {
showContextMarker(point.latLng); } );
$('.contextmenu').remove();
};
function delMarker() { marker.setMap(null); $('.contextmenu').remove(); };
Run Code Online (Sandbox Code Playgroud)
因此,我可以理解,我有一个上下文菜单,上面有"删除标记"选项.我在添加标记时绑定了一个"rightclick"监听器,以显示此菜单.
到目前为止,一切都没有任何问题.
但是当我尝试点击要删除的标记时; 它只影响最后添加的标记.当我再试一次; 什么都没发生.
所以我的想法是获取点击标记的id(或可能有用的东西)并根据此运行此删除功能.
简单地说,我想从具有多个标记的地图中删除我点击的标记.
你有什么方法可以解决这个问题吗?
提前致谢!
解决了!
这是解决方案.谢谢Fatih.没有你的指导,这是不可能的:
var id;
var markers = {};
var addMarker = function () {
marker = new google.maps.Marker({
position: Gpoint,
map: map,
draggable: true,
animation: google.maps.Animation.DROP
});
map.panTo(Gpoint);
id = marker.__gm_id
markers[id] = marker;
google.maps.event.addListener(marker, "rightclick", function …Run Code Online (Sandbox Code Playgroud) 我正在使用谷歌地图进行应用,所以我想为每个自定义地点定义一个自定义标记,例如(加油站 - 酒店 - 医院......)!我有一个覆盖类,有很多地方的纬度和经度,我想要如何给出一个自定义图标!
我可以在地图上显示所有标记,但是我想在填充所有标记时在每个标记上显示信息窗口.到目前为止我已经尝试了这个,但它显示了只有一个标记信息窗口的所有标记.
for (int i = 0; i < jobsDtoList.size(); i++) {
Double latitude = Double.parseDouble(jobsDtoList.get(i).getSiteLatitude());
Double longitude = Double.parseDouble(jobsDtoList.get(i).getSiteLongitude());
LatLng latLng = new LatLng(latitude, longitude);
MarkerOptions TP = new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.fromResource(R.mipmap.job_marker));
googleMap.addMarker(TP).showInfoWindow();
}
Run Code Online (Sandbox Code Playgroud) 这听起来很简单,但我找不到任何新手教程:有人能给我一个简单的例子我如何在OpenLayers中创建(vektor)标记,在mouseover上打开infowindow甚至在mouseout上关闭它?
我发现了部分解释但不是全部......
我正在寻找显示在这里的红点 我可以找到在各个地方找到大量的推针和阴影.但找不到这个小点......有人能帮助我吗?
我想根据从Accelerometer接收的轴承或传感器值来旋转标记,以向用户显示他实际移动的位置.我已将标记图标和平面值设置为true,但它不能按要求工作.
mCurrentLocationMarker.position(new LatLng(
LocationUtils.sLatitude, LocationUtils.sLongitude));
mCurrentLocationMarker.icon(icon);
mCurrentLocationMarker.flat(true);
mCurrentLocationMarker.rotation(LocationUtils.sBearing);
if (currentMarker != null) {
currentMarker.setPosition(new LatLng(
LocationUtils.sLatitude,
LocationUtils.sLongitude));
} else {
currentMarker = mGoogleMap
.addMarker(mCurrentLocationMarker);
}
animateCameraTo(true);
Run Code Online (Sandbox Code Playgroud)
我用过这个
作为标记.
我不知道为什么它不按照用户的指示旋转.如果有任何人有任何想法,请在我犯错的地方帮助我.
LocationUtils.sBearing是我从onLocationChanged或accelerometer收到的Bearing的值.
基本上我想让我的标记与谷歌地图标记一样,向用户显示他们正在移动或转向的方向.
我想禁用点击/点按map markers.我知道你可以disable default behavior通过设置一个空map.setOnMarkerClickListener并返回true; 但是,这仍然会点击标记.我想把点击传递到onMapClickListener.
在我的应用程序中,点击地图会移动一个标记,如果您在标记已经靠近的位置点击,它只会认为您正在点击标记!你会认为有一种Marker.setClickable方法,但没有.
如何在Google maps api V2上移动标记?我使用下面的代码,但它不会在地图上移动标记.我在这做错了什么?当位置发生变化时,这应该有效,所以我添加了onLocationChanged方法,并在其中获取位置详细信息并尝试在新细节上移动标记,但这不起作用.
这是我的代码:
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.gson.Gson;
public class MapViewActivity extends Activity implements LocationListener,
SensorEventListener, OnClickListener {
GoogleMap googleMap;
private boolean started = false;
private ArrayList<AccelLocData> sensorData;
private SensorManager sensorManager;
private Button btnStart, btnStop;
private String provider;
// File root, dir, sensorFile;
FileOutputStream fOut;
private Sensor mAccelerometer;
private FileWriter writer;
private DatabaseHelper databaseHelper;
private BroadcastReceiver alarmReceiver;
private PendingIntent pendingIntentSender, pendingIntentReceiver;
private AlarmManager alarmManager;
private Intent alarmIntent,alarmIntent2; …Run Code Online (Sandbox Code Playgroud) 我有一个随机纬度和经度点的列表,我正在他们之间绘制一条路线.我的问题是如何在谷歌地图中绑定这条路线,我在实用方法下面做了
public static void drawRouteIntoMap(final List<? extends MapHelper> position, final GoogleMap googleMap) {
/*List<MapHelper> position = new ArrayList<MapHelper>();
for (int i = lastPosition; i < maps.size(); i++) {
position.add(maps.get(i));
}*/
if (position.size() > 0 && Validator.isNotNull(googleMap)) {
googleMap.clear();
List<PolylineOptions> polylineOptionses = new ArrayList<PolylineOptions>();
PolylineOptions option = null;
Boolean lastPause = null;
for (MapHelper map : position) {
if (map.isPause()) {
if (Validator.isNull(lastPause) || !lastPause) {
option = new PolylineOptions().width(5).color(Color.rgb(255, 0, 155)).geodesic(true);
polylineOptionses.add(option);
}
option.add(new LatLng(map.getLatitude(), map.getLongitude()));
} else {
if …Run Code Online (Sandbox Code Playgroud) marker ×10
android ×7
google-maps ×3
bearing ×1
infowindow ×1
maps ×1
mouseover ×1
move ×1
onclick ×1
openlayers ×1
polyline ×1
selected ×1
z-order ×1