Google Maps API:結果の結果が表示されません
-
25-10-2019 - |
質問
GoogleマップJS APIを使用して、独自のスタイルのマップを作成しています。マッピングに方向機能を追加したかったのですが、フォローしました 公式チュートリアル (下 DirectionSresultの表示 タイトル)、しかし最終ルートは表示されていません...
私は自分のコードをデバッグしましたが、私は見つけました directionsservice.route 関数の戻り google.maps.directionsstatus.ok と directionsdisplay.setdirections(result) JSエラーなしで本当に呼び出されます...そのため、方向は正常に計算されますが、私のマップには表示されません。特別なマップスタイリングをオフにしようとしましたが、デフォルトのマップスタイルでも表示されません。問題はどこにあるのでしょうか?
OK、いくつかのコード...:
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyAB2gbXmG... ...mNs66iPr8&sensor=false&callback=directions_init"></script>
<script type="text/javascript">
var map;
var zoom = 11;
var directionsDisplay;
var directionsService;
function gmap_init(){
var styleArray = [ /*here is style but even if its commented its not working*/];
var alterMapStyle = new google.maps.StyledMapType(styleArray, {name: "ALTER style"});
var latlng = new google.maps.LatLng(/*lat, lng*/);
var myOptions = {
zoom: zoom,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false,
panControl: false,
zoomControl: false,
scaleControl: false,
streetViewControl: false
};
map = new google.maps.Map(document.getElementById("gmap"), myOptions);
map.mapTypes.set('ALTER_style', alterMapStyle);
map.setMapTypeId('ALTER_style');
}
function directions_init(){
directionsService = new google.maps.DirectionsService();
directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setMap(map);
display_route();
}
function display_route(){
var request = {
origin: 'Place A',
destination:'Place B',
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
//program got here without error
directionsDisplay.setDirections(result);
}
});
}
解決
それがあなたの問題の原因であるかどうかはわかりませんが、それはあなたのスクリプト入力から...ショットの価値があると確信しています
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyAB2gbXmG... ...mNs66iPr8&sensor=false&callback=directions_init"></script>
Directions_init関数は、APIスクリプトがダウンロードされた後に呼び出されると仮定します。これはおそらくPageのOnloadイベントの前であるため、マップオブジェクトは開始されておらず、nullです。だから実際にはあなたは呼んでいます
directionsDisplay.setMap(null);
gmap_initからdirections_initを呼び出してみてください。
所属していません StackOverflow