質問: new google.maps.Marker({ position: latlng, map: map, }); その他前後のソースは同様なので省略します ``` 上記ですとマップの中心にピンが表示されます。 この部分にmarkMap内の処理を書き換えられればと試しているのですが、どう移植すれば良いか手探り状態です。 よろしくお願いいたします。
回答: ``` function initialize(place) { // インスタンス[geocoder]作成 var geocoder = new google.maps.Geocoder(); geocoder.geocode({ // 起点のキーワード 'address': place }, function (result, status) { if (status == google.maps.GeocoderStatus.OK) { // 中心点を指定 var latlng = result[0].geometry.location; // 初期設定オプション var myOptions = { zoom: 15, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP, styles: styles }; // #mapを取得し、[mapOptions]の内容の、地図のインスタンス([map])を作成する map = new google.maps.Map(document.getElementById('map'), myOptions); // 中央部座標取得 var latlngDefault = map.getCenter(); // フォームに座標をセット $('#inputLat').attr('value', latlngDefault.lat()); $('#inputLng').attr('value', latlngDefault.lng()); // 場所 $('#place').text(place); // ドラッグで座標取得 google.maps.event.addListener(map, 'drag', dispLatLng); // マーカーの設置 markMultiple(); } else { alert('情報を取得できませんでした。'); } }); } ``` 単純に、マーカー設置の処理を、「地図インスタンスの作成後」に移動させれば 上手く行きそうな気がしますが、それではダメでしたか? それと余談ですが、 jsonで取得するデータは、地図の表示領域によって変わる(これから変える?)とか そういう予定があるのでしょうか? コード上では、取得結果が変わるようには見えないので、もし取得結果が毎回同じなのであれば、1回取得した時点でデータを保持しておき、2回目以降はjsonファイルにはアクセスせず保持データを使いまわせばいいのではないかと思いました。