嗨,我有问题如何点击标记实现信息窗口?问题是我在地图上有很多标记,如果单击信息窗口,每个标记都有另一个活动.enter code here
这是一个例子
我尝试了很多代码但没有解决
Intent intent = new Intent(ThisActivity.this,OneActivity.class);
startActivity(intent);
}
});
Run Code Online (Sandbox Code Playgroud) 我想为谷歌地图标记使用自定义十六进制颜色,但我看到您只能使用 0-360 和 10 个预定义的色调颜色。有什么方法可以将标记颜色更改为十六进制颜色,或者至少将十六进制值转换为色调以便我可以使用它?我已经知道如何为标记设置色调颜色,但不是十六进制颜色。
我想实现地图的拖动效果.当我们拖动地图时,标记应显示当前位置或纬度和经度.它在Uber应用程序中完成,见下文:
在此标记中显示拖动地图时的当前位置.我怎么能实现这个???
ChooseFromMapActivity
public class ChooseFromMapActivity extends AppCompatActivity implements GoogleMap.OnCameraChangeListener {
TextView textShowAddress;
private GoogleMap mMap;
LatLng latLng;
double latitude = 17.385044;
double longitude = 78.486671;
float zoom;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_choose_from_map);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mMap = mapFragment.getMap();
mMap.setMyLocationEnabled(true);
LatLng center = mMap.getCameraPosition().target;
mMap.getUiSettings().setZoomControlsEnabled(true);
mMap.getUiSettings().setRotateGesturesEnabled(true);
mMap.getUiSettings().setScrollGesturesEnabled(true);
latLng = new LatLng(-34, 151);
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
textShowAddress = (TextView) findViewById(R.id.textShowAddress);
mMap.addMarker(new MarkerOptions()
.position(latLng)
.draggable(false)
.title("sent location :)"))
.setDraggable(false);
}
}
}
Run Code Online (Sandbox Code Playgroud) 我使用 Google Map Marker 和 IconGenerator,我可以获取标记并在标记上加载数据,但我不知道如何更改图标标记的颜色
这是我的代码:
IconGenerator tc = new IconGenerator(this);
Bitmap bmp = tc.makeIcon("1000K"); // pass the text you want.
...
.icon(BitmapDescriptorFactory.fromBitmap(bmp));
Run Code Online (Sandbox Code Playgroud)
标记的默认颜色为白色,如何更改 IconGenerator 的颜色背景?
这可能是一个愚蠢的问题,但我找不到任何解决方案,以前关于这个问题的答案现在让我发布我的问题,我需要在谷歌地图标记中的圆形图像周围产生涟漪效应,现在让我发布我迄今为止尝试过的内容:
@Override
public void onLocationChanged(final Location location) {
mLastLocation=location;
GradientDrawable d = new GradientDrawable();
d.setShape(GradientDrawable.OVAL);
d.setSize(500,500);
d.setColor(0x555751FF);
d.setStroke(5, Color.TRANSPARENT);
Bitmap bitmap = Bitmap.createBitmap(d.getIntrinsicWidth()
, d.getIntrinsicHeight()
, Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(bitmap);
d.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
d.draw(canvas);
final int radius = 100;
final GroundOverlay circle = mMap.addGroundOverlay(new GroundOverlayOptions()
.position(new LatLng(location.getLatitude(),location.getLongitude()), 2 * radius).image(BitmapDescriptorFactory.fromBitmap(createMarker(TrackingActivity.this,new LatLng(location.getLatitude(),location.getLongitude())))));
ValueAnimator valueAnimator = new ValueAnimator();
valueAnimator.setRepeatCount(ValueAnimator.INFINITE);
valueAnimator.setRepeatMode(ValueAnimator.RESTART);
valueAnimator.setIntValues(0, radius);
valueAnimator.setDuration(3000);
valueAnimator.setEvaluator(new IntEvaluator());
valueAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
float animatedFraction …Run Code Online (Sandbox Code Playgroud) 我想从URL设置一个图标,以在Map中进行标记。我看到了很多解决方案,但所有解决方案都展示了如何从我们的可绘制文件夹中设置图标。在这里,我想要一些不同的东西,我有一个个人资料图像 URL,我需要将该图像设置为我的标记的图标。请建议我解决这个问题。她是我的代码:
private void setUpCurrentMarker(LatLng latLng) {
mMap.clear();
if (!isUp)
onSlideViewButtonClick(addressView);
//LatLng sydney = new LatLng(-34, 151);
mMap.addMarker(new MarkerOptions()
.position(latLng)
.title("Current Location"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
mMap.animateCamera(CameraUpdateFactory.zoomTo(11));
}
Run Code Online (Sandbox Code Playgroud) 我想使用 Google Google Maps for Flutter和它的标记在 Flutter 中创建一个位置选择器。可以通过将可拖动选项设置为 true 来创建标记来创建可拖动标记。使用以下代码段。
Widget _buildMap(BuildContext context) {
return GoogleMap(
options: GoogleMapOptions(
cameraPosition: CameraPosition(
target: LatLng(7.2906, 80.6337),
zoom: 7.0,
),
compassEnabled: true,
),
onMapCreated: (controller) {
_mapController = controller;
controller.addMarker(
MarkerOptions(
draggable: true,
flat: false,
position: LatLng(7.2906, 80.6337),
),
);
},
);
}
Run Code Online (Sandbox Code Playgroud)
但是在拖动标记后我找不到获取标记新位置的方法。我试图通过引用 的markers属性来获取标记的新位置,MapController但它返回标记的初始位置。
_mapController.markers.forEach((marker) {
print("Pos: " + marker.options.position.toString())
});
// Prints "Pos: LatLng[7.2906, 80.63369999999998]"
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么还是有另一种方法来完成这个用例?谢谢你。
这是我的代码
var map = L.mapbox.map('map', 'examples.map-20v6611k').setView([37.9, -77],4);
var marker = L.marker(new L.LatLng(37.9, -77), {
icon: L.mapbox.marker.icon({'marker-color': 'CC0033'}),
draggable: true
});
marker.bindPopup('This marker is draggable! Move it around.');
marker.addTo(map);
//my code
marker.on('mousedown', function(e){
location = marker.getLatLng();
document.getElementById('locationBox').innerHTML = "poop";
});
Run Code Online (Sandbox Code Playgroud)
地图上的标记可以拖动到任何地方.我正在尝试在标记被拖动到某处之后获取标记的经度和纬度,这就是为什么我使用marker.on('mousedown',function(e){事件处理程序.我有两个问题.我我试图嵌套另一个事件处理程序
marker.on('mouseup', function(e){
Run Code Online (Sandbox Code Playgroud)
在内部,所以一旦标记被拖走就抓住了位置但是'mouseup'方法不起作用.
第二个问题
location = marker.getLatLng();
Run Code Online (Sandbox Code Playgroud)
不存储lat/lon的位置,而只是打开我尚未配置的新URL.
如何在拖动然后删除标记之后使用Javascript或Jquery来获取标记的位置,以及如何将lat/lon适当地存储在变量中?
谢谢!
marker ×8
android ×6
google-maps ×4
colors ×1
dart ×1
drag ×1
flutter ×1
infowindow ×1
java ×1
javascript ×1
mapbox ×1
methods ×1