- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下是 JavaScript 代码。我找不到在哪里更改 A B C 的默认行为。您可以引用一些示例链接吗?我用谷歌搜索并尝试过,但找不到有利的输出。我也检查了这个问题,但找不到结果。 change default icon of marker in route
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
<script type="text/javascript">
var combinedResults;
var directionsResultsReturned = 0;
function gDirRequest(service, waypoints, userFunction, waypointIndex, path) {
// set defaults
waypointIndex = typeof waypointIndex !== 'undefined' ? waypointIndex : 0;
path = typeof path !== 'undefined' ? path : [];
// get next set of waypoints
var s = gDirGetNextSet(waypoints, waypointIndex);
// build request object
var startl = s[0].shift()["location"];
var endl = s[0].pop()["location"];
var request = {
origin: startl,
destination: endl,
waypoints: s[0],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
optimizeWaypoints: false,
provideRouteAlternatives: false,
avoidHighways: false,
avoidTolls: false
};
service.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
console.log(status);
if (directionsResultsReturned == 0) { // first bunch of results in. new up the combinedResults object
combinedResults = result;
directionsResultsReturned++;
}
else {
// only building up legs, overview_path, and bounds in my consolidated object. This is not a complete
// directionResults object, but enough to draw a path on the map, which is all I need
combinedResults.routes[0].legs = combinedResults.routes[0].legs.concat(result.routes[0].legs);
combinedResults.routes[0].overview_path = combinedResults.routes[0].overview_path.concat(result.routes[0].overview_path);
combinedResults.routes[0].bounds = combinedResults.routes[0].bounds.extend(result.routes[0].bounds.getNorthEast());
combinedResults.routes[0].bounds = combinedResults.routes[0].bounds.extend(result.routes[0].bounds.getSouthWest());
directionsResultsReturned++;
}
path = path.concat(result.routes[0].overview_path);
if (s[1] != null) {
gDirRequest(service, waypoints, userFunction, s[1], path)
} else {
//console.log(result);
//response.routes[0].overview_path=path;
directionsDisplay.setDirections(combinedResults);
//userFunction(path);
}
} else {
console.log(status);
}
});
}
function gDirGetNextSet (waypoints, startIndex) {
var MAX_WAYPOINTS_PER_REQUEST = 8;
var w = []; // array of waypoints to return
if (startIndex > waypoints.length - 1) { return [w, null]; } // no more waypoints to process
var endIndex = startIndex + MAX_WAYPOINTS_PER_REQUEST;
// adjust waypoints, because Google allows us to include the start and destination latlongs for free!
endIndex += 2;
if (endIndex > waypoints.length - 1) { endIndex = waypoints.length ; }
// get the latlongs
for (var i = startIndex; i < endIndex; i++) {
w.push(waypoints[i]);
}
if (endIndex != waypoints.length) {
return [w, endIndex -= 1];
} else {
return [w, null];
}
}
var driver_complete_sites = <?php echo json_encode($driver_complete_sites); ?>;
var driver_incomplete_sites = <?php echo json_encode($driver_incomplete_sites); ?>;
var driverLat = '<?php echo $driver_last_lat; ?>';
var driverLng = '<?php echo $driver_last_lng; ?>';
complete_icon = '<?php echo $this -> config -> base_url();?>images/tick.png';
incomplete_icon ='<?php echo $this -> config -> base_url();?>images/marker.png';
driver_pos_icon ='<?php echo $this -> config -> base_url();?>images/car_marker.png';
var directionsService = new google.maps.DirectionsService();
directionsDisplay = new google.maps.DirectionsRenderer();
var centerLng = 0;
var centerLat = 0;
if (driver_incomplete_sites != null){
if (driver_incomplete_sites.length>0){
//centerLat = driver_incomplete_sites[0].Latitude;
//centerLng= driver_incomplete_sites[0].Longitude;
centerLng = -81.7170
centerLat = 27.8333
}
}
if (driver_complete_sites != null){
if (driver_complete_sites.length>0){
length = driver_complete_sites.length - 1;
//centerLat = driver_complete_sites[0].Latitude;
//centerLng= driver_complete_sites[0].Longitude;
centerLng = -81.7170
centerLat = 27.8333
//driverLat = driver_complete_sites[length].Latitude;
//driverLng= driver_complete_sites[length].Longitude;
}
}
if (centerLng == 0 && centerLat == 0){
centerLng = -81.7170
centerLat = 27.8333
}
var latlngbounds = new google.maps.LatLngBounds();
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 6,
center: new google.maps.LatLng(centerLat, centerLng),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
directionsDisplay.setMap(map);
var infowindow = new google.maps.InfoWindow();
var waypoints = [];
var end = null;
var marker, i;
if (driver_complete_sites != null){
if (driver_complete_sites.length>0){
var skip=driver_complete_sites.length - 1;
var travelWaypoints=[];
for (var key in driver_complete_sites) {
latlngbounds.extend(new google.maps.LatLng(driver_complete_sites[key].Latitude,driver_complete_sites[key].Longitude));
var directionsService = new google.maps.DirectionsService();
if (key == skip){
travelWaypoints.push({location: new google.maps.LatLng(driver_complete_sites[key].Latitude, driver_complete_sites[key].Longitude)});
end = new google.maps.LatLng(driver_complete_sites[key].Latitude, driver_complete_sites[key].Longitude);
break;
}
else{
travelWaypoints.push({location: new google.maps.LatLng(driver_complete_sites[key].Latitude, driver_complete_sites[key].Longitude)});
}
/*if (key == 0){
start = new google.maps.LatLng(driver_complete_sites[key].Latitude, driver_complete_sites[key].Longitude);
}else if (key == skip){
end = new google.maps.LatLng(driver_complete_sites[key].Latitude, driver_complete_sites[key].Longitude);
}else{
var address = new google.maps.LatLng(driver_complete_sites[key].Latitude, driver_complete_sites[key].Longitude);
if (address !== "") {
waypoints.push({
location: address,
//title: driver_complete_sites[key].Latitude+","+driver_complete_sites[key].Longitude,
//icon: complete_icon,
stopover: true
});
}
}*/
}
if (end != null){
gDirRequest(directionsService, travelWaypoints, function drawGDirLine(path) {
//directionsDisplay.setDirections(path);
//var line = new google.maps.Polyline({clickable:false,map:map,path:path});
});
}else{
marker = new google.maps.Marker({
position: new google.maps.LatLng(driver_complete_sites[0].Latitude, driver_complete_sites[0].Longitude),
map: map,
title: driver_complete_sites[0].Latitude+","+driver_complete_sites[0].Longitude,
icon: complete_icon
});
}
latlngbounds.extend(new google.maps.LatLng(driverLat,driverLng));
marker = new google.maps.Marker({
position: new google.maps.LatLng(driverLat, driverLng),
map: map,
title: driverLat+","+driverLng,
icon: driver_pos_icon
});
}
}
if (driver_incomplete_sites != null){
if (driver_incomplete_sites.length>0){
for (var key in driver_incomplete_sites) {
latlngbounds.extend(new google.maps.LatLng(driver_incomplete_sites[key].Latitude,driver_incomplete_sites[key].Longitude));
//alert(driver_incomplete_sites[key].Longitude)
marker = new google.maps.Marker({
position: new google.maps.LatLng(driver_incomplete_sites[key].Latitude, driver_incomplete_sites[key].Longitude),
map: map,
title: driver_incomplete_sites[key].Latitude +","+ driver_incomplete_sites[key].Longitude,
icon: incomplete_icon
});
}
}
}
if (driver_incomplete_sites.length>0 || driver_complete_sites.length > 0){
map.fitBounds(latlngbounds);
}
</script>
最佳答案
我认为您无法更改它们,但您可以告诉 API 不要绘制它们,然后自己用不同的图标绘制它们。
设置 DirectionsRenderer 时,必须将 suppressMarkers
设置为 true
:
var directionsDisplay = new google.maps.DirectionsRenderer({ suppressMarkers: true });
然后您可以绘制新标记:
var startMarker = new google.maps.Marker({icon: aIcon, map: map, position: startl});
var stopMarker = new google.maps.Marker({icon: bIcon, map: map, position: endl});
关于javascript - 我可以更改谷歌地图中标记的默认AB吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29939855/
如果你有一个字符串,假设:AB--AB .我想寻找带有 xpath 的节点,它可以是 AB??AB , 这意味着节点属性中的问号是某种占位符 - 它们的出现次数可能会有所不同,因此它也应该匹配到 AB
我的python版本是2.7.6 我知道 +? 是 + 的非贪婪版本。 这样 re.findall('(ab)+?', 'abab') 将匹配尽可能少的 ab。 结果 ['ab', 'ab'] 因此有
typedef struct unit { struct unit * next; int year; int month; int day; struct unit revisions[3]; ch
特别是 Sql Server 2005/T-Sql。我有一个主要由两个字符组成的字段,它们都应该是大写的,但是有一些遗留数据早于当前的数据库/系统,我需要弄清楚哪些记录违反了大写套管契约。 我认为这会
在 python 中有什么区别: abs(a) 和 operator.abs(a) 它们非常相似,工作方式也相似。如果它们完全相同,那么为什么要制作两个独立的函数来做同样的事情? 如果其中任何一个有一
小心,我说的是::abs() ,而不是 std::abs() 根据cplusplus.com website , abs stdlib. 的行为应该不同h C 版本,如果包含 这是此页面的摘录(涉及
假设我们有数字 81,我们将它分开:8 和 1。如果我们得到这个数字的总和,它将是 9,对吧?让我们检查一下 9 的任意幂是否为 81。是的,9 的平方为 81。 我想找到所有这些数字,直到达到 10
我在postgresql有点情况 我有两个表 t1 和 t2,并且都有一个列具有相同类型的数据“col_data”,col_data 可能只有以下数据 ('ab', 'cd', 'ab,cd', 'c
这个问题在这里已经有了答案: Can we instantiate an abstract class? (16 个答案) 关闭 9 年前。 我有一个关于抽象类的问题。 首先......我正在使用谷
我的问题听起来可能很愚蠢,但我必须在准备学士考试时回答这个问题。 那么,您如何看待 C++ 中的表达式 'ab' == "ab"?这不是真的还是根本不合法和编译错误?我在谷歌上搜索了一下,了解到“ab
我有一个表格,其中填充了某些值,例如 | CODE | NAME | NB: THIS IS A VERY BASIC EXAMPLE | zygnc | oscar alpha |
This question already has answers here: Reference - What does this regex mean?
我正在检查 TypeScript 规范并在某个时间点查看 3.4 Union Types它使用 AB 如下: 一个 |如果 B 是 A 的子类型,则 B 等同于 A。 一个 | B 等同于 B | A
这个问题在这里已经有了答案: What is the difference between .*? and .* regular expressions? (3 个答案) 关闭 7 年前。 +? 匹
下面是我遇到问题的代码。 avg += abs(num) 行有错误,但我无法解决。错误代码: error: call of overloaded 'abs(double&)' is ambigous
我有一个 Java 方法,它在一个非常紧凑的循环中重复计算以下表达式,并有大量重复: Math.abs(a - b) - Math.abs(c - d) a、b、c 和 d 是 long 值,可以跨越
我有一个 .bin 文件,我想对十六进制数据进行简单的字节反转。例如说 @ 0x10 它读取 AD DE DE C0,希望它读取 DE AD C0 DE。 我知道有一种简单的方法可以做到这一点,但我是
我目前正在用 C++ 编写一些类似于 vector 数学类的 glsl,并且我刚刚实现了一个 abs() 函数,如下所示: template static inline T abs(T _a) {
我正在尝试 ab 测试旋风。 当我跑 ab -n 2000 -c 25 http://127.0.0.1 我得到 ab:无效的 URL。 嗯...当我在我的开发机器上访问 ff 时,该站点就在那里。
我有一个 Swift 文件,我在其中导入了 Foundation 和 CoreGraphics,但是在我调用 abs(x) 的地方,其中 x 是一个 CGFloat,我收到此警告: abs is de
我是一名优秀的程序员,十分优秀!