Javascript APIを使用して自分のウェブサイトのマップ上で作業しています。それはこれまでのところとても簡単です。カスタムマップを使用してマーカーを追加し、通常のコントロールとスクロールズームを無効にしました。私は2つのことを私のために働かせることはできません。GoogleマップJavascript APIカスタムコントロールがドロップダウン
- ナビゲーションをドロップダウンメニューで行いたいと思います。ドロップダウンメニューには、マップ内のすべてのマーカーが含まれているはずです。 「イングランド」を選択すると、地図はイングランドのマーカーに移動します。オランダを選ぶときにオランダに行きました。将来はフランス北部やフランス南部のような国に複数のマーカーを追加します。これらは後でメニューに統合されます。
- 私はこの国のオフィスの連絡先の詳細を示すこのドロップダウンメニューの下のボックスを必要とします。だからイングランドを選ぶときにはイングランドに行くだけでなく、2番目のボックスにイングランドの連絡先の詳細が表示されます。
まだ連絡先の詳細と住所が追加されていません。すべてのマーカーは座標を使用して配置されます。
私のプロジェクトはJSFiddleにあります。私のコードを別のフィドルにコピーしたり、答えのセクションにソリューションを置いてください。 JSFiddleにそれらを含めるようにします。
StackOverflowのは、コードを挿入するために私に尋ねます。それはカスタマイズのために長いものです。 var map;
function initialize() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: new google.maps.LatLng(46.3485167, 21.9843998),
scrollwheel: true,
disableDefaultUI: true,
mapTypeId: 'roadmap',
styles: [{
"featureType": "road.highway",
"stylers": [{
"visibility": "off"
}]
}, {
"featureType": "road.arterial",
"stylers": [{
"visibility": "off"
}]
}, {
"featureType": "road.local",
"stylers": [{
"visibility": "off"
}]
}, {
"featureType": "administrative.locality",
"stylers": [{
"visibility": "off"
}]
}, {
"featureType": "poi",
"stylers": [{
"visibility": "off"
}]
}, {
"featureType": "landscape.natural",
"stylers": [{
"visibility": "on"
}, {
"color": "#808080"
}, {
"lightness": 96
}]
}, {
"featureType": "landscape.natural",
"elementType": "geometry.stroke",
"stylers": [{
"visibility": "off"
}]
}, {}]
});
var iconBase = 'http://www.loading-systems.com/sites/default/files/images/website2016/';
var icons = {
office: {
name: 'Offices',
icon: iconBase + 'map-marker-office.png'
},
factory: {
name: 'Factory',
icon: iconBase + 'map-marker-factory.png'
},
dealer: {
name: 'Distributor',
icon: iconBase + 'map-marker-dealer.png'
}
};
function addMarker(feature) {
var marker = new google.maps.Marker({
position: feature.position,
icon: icons[feature.type].icon,
map: map
});
}
var features = [{
position: new google.maps.LatLng(52.4997173, 5.4302006),
type: 'office'
}, {
position: new google.maps.LatLng(51.2368042, 4.4566387),
type: 'office'
}, {
position: new google.maps.LatLng(50.1152834, 8.5038213),
type: 'office'
}, {
position: new google.maps.LatLng(53.6245002, -1.7210977),
type: 'office'
}, {
position: new google.maps.LatLng(49.0383945, 2.6853833),
type: 'office'
}, {
position: new google.maps.LatLng(52.4260763, 16.8591883),
type: 'office'
}, {
position: new google.maps.LatLng(50.0033534, 14.4028093),
type: 'office'
}, {
position: new google.maps.LatLng(48.6130105, 17.7152123),
type: 'office'
}, {
position: new google.maps.LatLng(24.8875455, 55.1403156),
type: 'office'
}, {
position: new google.maps.LatLng(59.8841107, 30.3249023),
type: 'office'
}, {
position: new google.maps.LatLng(47.05361, 21.9299127),
type: 'office'
}];
for (var i = 0, feature; feature = features[i]; i++) {
addMarker(feature);
}
var legend = document.getElementById('legend');
for (var key in icons) {
var type = icons[key];
var name = type.name;
var icon = type.icon;
var div = document.createElement('div');
div.innerHTML = '<img src="' + icon + '"> ' + name;
legend.appendChild(div);
}
map.controls[google.maps.ControlPosition.RIGHT_TOP].push(legend);
}
ありがとうございました!
現在のスクリプトコード:
素晴らしいです!私は私のCSSを介してドロップダウンメニューを変更することができますね?私はそれにZインデックス1の絶対的なポジショニングを与えたいと思います。私はそれが変更できるのでプロジェクトへのリンクを与えるのは良くないと知っていますが、これは私の最終結果です。http://www.loading- systems.cz/kontakt(私はこの地図の作成者に連絡することはできません)。 –
私に連絡すること自由に感じる。 [email protected]。オランダ語を話す –