我正在使用Android Google地图v2 API并将其设置为在长按时添加标记.我需要一种方法来保存这些标记,并在应用程序再次恢复时重新加载它们.最好的方法是什么?请帮忙
目前我添加标记如下:
map.addMarker(new MarkerOptions().position(latlonpoint)
.icon(bitmapDescriptor).title(latlonpoint.toString()));
Run Code Online (Sandbox Code Playgroud) android google-maps savestate google-maps-markers android-maps
当我鼠标悬停在标记上时,我希望有弹跳效果,并且当mouseleave时停止动画.
我试图在监听器上使用mouseover和mouseout事件,如下所示:
google.maps.event.addListener(marker, 'mouseover', function() {
this.setAnimation(google.maps.Animation.BOUNCE);
});
google.maps.event.addListener(marker, 'mouseout', function() {
this.setAnimation(null);
});
Run Code Online (Sandbox Code Playgroud)
但这看起来很奇怪.我无法用言语解释错误的行为 - 请看我录制的15秒视频:
===> http://youtu.be/Hcy8823nNQU
我需要的可能是mouseleave而不是mouseout,但该事件不是由他们的API提供的.
我想从地图外部将对象拖到Google Map(API V3)中.经过一些研究,我找到了这个非常有用的帖子,我试着让它适应我的项目.
主要思想是在地图上拖动.png图像,当鼠标按钮向下时,获取实际坐标并在该纬度/ lng处放置标记.
但是我注意到拖动图像的点与放置标记的点之间存在差异.无论缩放级别如何,上面链接的样本的差异大约为10/15像素.在最大变焦时,它不是很重要,但是你取消的越多,差距越重要.
差距的插图:
(我们距离想要的地方100公里/ 60英里...)
那么,为什么会有这样的差距?在我上面链接的样本中,差距不太重要,但它也存在.我的浏览器控制台没有错误,它似乎不是一个棘手的CSS问题.
有人知道如何纠正这个问题吗?
谢谢
google-maps drag-and-drop latitude-longitude google-maps-api-3 google-maps-markers
我正在研究谷歌地图我试图将标记添加到谷歌地图然后尝试删除它但现在我已经完成了添加和删除下面的代码
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>MapsApi</title>
<style>
#map_canvas {
width: 100%;
height: 500px;
background-color: #CCC;
}
#menu_bar{
width: 100%;
height: 150px;
position:absolute;
bottom:0px;
background-color: #CCC;
border-top:1px solid red;
}
body{
padding:0px;
margin:0px;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var map;
var markers = [];
function initialize() {
var myLatlng = new google.maps.LatLng(44.5403, -78.5463);
var mapOptions = {
zoom: 4,
center: myLatlng
}
var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
google.maps.event.addListener(map, 'click', function(event) {
addMarker(event.latLng);
});
// add …
Run Code Online (Sandbox Code Playgroud) 谷歌地图有一个很好的功能叫做Marker Clusterer,它允许你将基于网格的聚类应用于一组标记.
Marker Clusterer将每个标记计为一个,它总结了网格中标记的数量.不同的是,我想为每个标记分配权重,并在群集中总结这些权重.是否可以使用Google Maps API?你知道其他任何提供类似功能的javascript库吗?
javascript google-maps marker google-maps-markers markerclusterer
我目前正在显示一个标记.触摸时,不显示信息窗口.我已经确认标题实际上是在标记中设置的.
但是,如果我触摸信息窗口所在标记上方的区域,我会收到该OnInfoWindowClickListener
事件.当发生这种情况时,我打开另一个活动,当我从此活动返回时,将显示信息窗口(实际上,我可以看到它在活动开始之前显示为一瞬间).
有关触摸标记时如何显示信息窗口的任何提示?
这是我的相关代码:
// .... more code up here
final GoogleMap map = mMapFragment.getMap();
if (map == null) {
mReloadWhenReady = true;
return;
}
map.clear();
final TileProviderMapsV2 prov = new TileProviderMapsV2(mMapFragment.getActivity());
map.addTileOverlay(new TileOverlayOptions().tileProvider(prov));
final LatLngBounds.Builder bounds = new LatLngBounds.Builder();
final Map<Marker, MyNode> markerMap = J.newHashMap();
mNodes.clear();
mNodes.addAll(nodes);
L.p("Maps v2 nodes: %d. ", mNodes.size());
for (MyNode node : mNodes) {
final LatLng latlng = new LatLng(node.getLat(), node.getLon());
final MarkerOptions opts = new MarkerOptions()
.position(latlng)
.title("Title is " + …
Run Code Online (Sandbox Code Playgroud) android google-maps google-maps-markers google-maps-android-api-2
我在谷歌地图iOS SDK中放置了6个具有相同坐标的自定义标记.这些标记持续闪烁/切换.我根本不想要动画闪烁.请帮我.
这是我的源代码.
-(void)loadPlacesInMapWithIndex:(int)index{
for (int i = 0; i < [[[SearchManager sharedInstance]searchedStallArray] count]; i++) {
Stall *stall = [[[SearchManager sharedInstance]searchedStallArray] objectAtIndex:i];
// Creates a marker in the center of the map.
GMSMarker *marker = [[GMSMarker alloc] init];
marker.position = CLLocationCoordinate2DMake([stall.stallLatitude doubleValue],[stall.stallLongitude doubleValue]);
marker.infoWindowAnchor = CGPointMake(0.44f, -0.07f);
marker.userData = stall;
marker.tappable = YES;
self.infoView = [[[NSBundle mainBundle]loadNibNamed:@"StallInfoWindow" owner:self options:nil] objectAtIndex:0];
marker.iconView = self.infoView;
if (index == i) {
[self.infoView.stallPinImageView setImage:[UIImage imageNamed:@"RateLabel.png"]];
[self.infoView.stallPriceLabel setTextColor:[UIColor whiteColor]];
CGFloat currentZoom = self.stallsMapView.camera.zoom;
[CATransaction begin]; …
Run Code Online (Sandbox Code Playgroud) 当我在设备上加载谷歌地图时,我有时会收到下面的屏幕.如第二次加载,如下所示. 否则它完全像正常的谷歌地图与路线我使用SupportmapFragment并获得googleMap对象.
supportMapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map_view_fragment);
Run Code Online (Sandbox Code Playgroud)
下面是在activity/fragment中显示map的代码
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));
}*/
final LatLngBounds.Builder mapBounds = new LatLngBounds.Builder();
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 …
Run Code Online (Sandbox Code Playgroud) android google-maps google-maps-markers google-maps-android-api-2
我正在开发一个使用 Google 地图 Android API 的 Android 应用程序。我在地图上显示多个标记,我想在每个标记旁边显示一个标签,如下图所示,但我不知道该怎么做它。
我已经浏览了https://developers.google.com/maps/documentation/android-api/map-with-marker上的 Google 地图文档 ,但我无法找到有关如何以这种方式显示标签的详细信息。I已尝试打开弹出窗口的标题属性,但我需要它来显示有关我的标记的详细视图(信息窗口),并且我需要显示主标题而不打开任何标记的弹出窗口
知道如何按照附图所示的方式添加标记吗?
在 flutter 中创建 Google 地图中的自定义图标显示错误。
我的 pubspec.yaml 文件
assets:
- assets/truck.png
Run Code Online (Sandbox Code Playgroud)
我的代码是:
void getCustomIcon() async {
customIcon = await BitmapDescriptor.fromAssetImage(
ImageConfiguration(
devicePixelRatio: 2.5,
),
'assets/truck.png');
}
Run Code Online (Sandbox Code Playgroud)
错误是:
[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, Failed to decode image. The provided image must be a Bitmap., null)
E/flutter (15757): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
E/flutter (15757): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321:33)
Run Code Online (Sandbox Code Playgroud) google-maps ×8
android ×4
javascript ×2
android-maps ×1
dart ×1
flutter ×1
ios ×1
maps ×1
marker ×1
objective-c ×1
savestate ×1