我试图在我的网页上实施谷歌地图,其中的图钉链接到不同的网站。我该怎么做呢? 这是我到目前为止的地图源代码:
<script type="text/javascript">
var locations = [
['Bondi Beach', -33.890542, 151.274856, 4, "google.com"],
['Coogee Beach', -33.923036, 151.259052, 5],
['Cronulla Beach', -34.028249, 151.157507, 3],
['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
['Maroubra Beach', -33.950198, 151.259302, 1]
];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(-33.92, 151.25),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map,
url: locations[i][3],
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
</script>
答案 0 :(得分:0)
以下是一个很好的例子:https://gist.github.com/parth1020/4481893
如果要添加链接,只需将url添加到数组和for循环添加url选项。
代码:
class OneService {
private _isInit
private _initStatus = new EventEmitter()
constructor() {
Promise.all([
Promise1(), //async task
Promise2(), //async task
])
.then(res => {
... //doing stuff
this.init() //stuff finished, OneService is initiated
})
}
init() {
this._isInit = true
this._initStatus.emit(this._isInit)
}
isInit() {
return new Promise(resolve => {
if (this._isInit)
resolve()
else {
this._initStatus.subscribe(() => {
resolve()
})
}
})
}
}
class anotherService {
constructor(myService: OneService) {
this.myService.isInit().then(() => {
... //doing stuff
})
}
}