displayRoute(directionsService, directionsDisplay) {
let numberOfHits = this.geo.Data.rows.length - 1;
let firstHit = this.geo.Data.rows[numberOfHits];
let lastHit = this.geo.Data.rows[0];
let wayPoint, i;
let wayPointsArray = [];
this.checkForDuplicates('Id', this.geo.Data.rows);
for (i = 1; i < numberOfHits; i++) {
wayPoint = this.geo.Data.rows[i];
if (this.duplicatesArr.indexOf(wayPoint.Id) === -1) {
wayPointsArray.unshift({
location: {
lat: wayPoint.latitude,
lng: wayPoint.longitude
}
});
} else if (this.duplicatesArr.indexOf(wayPoint.Id) > -1) {
console.log('wayPoint', wayPoint.Id, 'has already been hit')
}
}
let request = {
origin: {
lat: firstHit.latitude,
lng: firstHit.longitude
},
destination: {
lat: lastHit.latitude,
lng: lastHit.longitude
},
waypoints: wayPointsArray,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
if((request.origin.lat == request.destination.lat) && (request.origin.lng == request.destination.lng)) {
// Code to hide destination marker
}
directionsService.route(request, (response, status) => {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
});
}
this.geo = {
"Data": {
"records": 7,
"total": 1,
"page": 1,
"rows": [
{
"Id": 2778,
"latitude": 51.509697,
"longitude": -2.2
},
{
"Id": 53,
"latitude": 50.980598,
"longitude": -1.36827
},
{
"Id": 2750,
"latitude": 51.152599,
"longitude": -1.34676
},
{
"Id": 2778,
"latitude": 51.509697,
"longitude": -2.2
}
]
}
}
createMap() {
let directionsDisplay = new google.maps.DirectionsRenderer;
let directionsService = new google.maps.DirectionsService;
let map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.ROADMAP
});
let bounds = new google.maps.LatLngBounds();
map.fitBounds(bounds);
directionsDisplay.setMap(map);
this.displayRoute(directionsService, directionsDisplay);
};
这是在displayRoute()函数之前使用的
DirectionsRenderOptions
具有SuppressMarkers
属性。
这将隐藏原点和目标标记。
然后,您可以简单地在原点坐标处添加自己的标记。基于您发布的代码的示例:
if ((request.origin.lat == request.destination.lat) && (request.origin.lng == request.destination.lng)) {
// Code to hide destination marker
var rendererOptions = {
suppressMarkers: true,
};
var directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(request.origin.lat, request.origin.lng),
map: map
});
} else {
var directionsDisplay = new google.maps.DirectionsRenderer();
}
directionsService.route(request, (response, status) => {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
});
是否有任何方法可以在谷歌默认地图和地形地图中隐藏滑雪道? 我们可以使用“特征类型”道路隐藏道路并设置能见度。但是滑雪道或小径似乎没有对等的东西。 http://techcrunch.com/2013/03/25/google-adds-trail-maps-for-100-additional-ski-resorts-to-google-maps/
我知道周围也有类似的问题,但我无法找到一个可靠的答案,这是我的问题:有没有什么方法可以在没有谷歌地图引用的情况下将标记存储在ArrayList(或任何其他存储)中,然后简单地将它们添加到我的地图中? 背景:我有一个应用程序,目前有大约3500个标记。每个标记还有一个与之相关联的数据(布尔数组存储每个标记的数据,用于根据用户交互使它们可见/不可见)。目前,我使用扩展AsyncTask的类来获取这些标
我已经尝试在这里和谷歌地图API留档上查看了大量的代码块,但仍然无法找出如何隐藏标记。 这是我正在使用的当前代码,它在一个实例中有效。有一次,我在带有标记的函数中添加了“for”循环。setMap(null)Firefox显示以下错误: markers.set地图不是一个函数 附加信息:校园地图和完整代码(不包括地图API)
在我的Android应用程序中,当单击地图上的标记时,我的地图屏幕会显示方向和谷歌地图。我在应用程序中使用以下内容。 XML: 在代码中: 我已经用蓝色标记了方向和谷歌地图图标。请查看我的地图屏幕的图像。 如何从地图片段中隐藏方向和谷歌地图图标?
我已经阅读了很多关于这个问题的文章,但是没有什么能解决我的问题。我有一个标签上的谷歌地图,最初是隐藏的网页加载时,希望得到一些帮助,请。以下是完整的代码: 我就是不能让它工作。如果有人看到有帮助的东西,请回复。谢啦 编辑:将元素选择器更改为类,并将我的链接更改为类而不是ID,现在它至少会选择它。我在firebug中得到一个错误,“mymap未定义”。
所以我看到了一个特殊的例外,我敢肯定的是谷歌地图的绘图代码。 我有一个片段,在那里我以编程方式添加了一个支持地图片段,然后我在其中操纵谷歌地图实例。 这是stacktrace: 我无法可靠地复制它(尽管这种情况经常发生),我已经查看了ReadWriteDirectByteBuffer和ShortToByteBufferAdapter,但没有任何东西突然出现在我面前。 有什么想法吗?