0

このページに示すように、Google マップ API のマーカーにさまざまなサイズのアイコンを表示するルーチンを実装しています: https://developers.google.com/academy/apis/maps/visualizing/earthquakes (円の例を見てください) ):

window.eqfeed_callback = function(results) {
  for (var i = 0; i < results.features.length; i++) {
    var earthquake = results.features[i];
    var coords = earthquake.geometry.coordinates;
    var latLng = new google.maps.LatLng(coords[1],coords[0]);
    var marker = new google.maps.Marker({
      position: latLng,
      map: map,
      icon: getCircle(earthquake.properties.mag)
    });
  }
}

function getCircle(magnitude) {
  return {
    path: google.maps.SymbolPath.CIRCLE,
    fillColor: 'red',
    fillOpacity: .2,
    scale: Math.pow(2, magnitude) / Math.PI,
    strokeColor: 'white',
    strokeWeight: .5
  };
}

クロムではすべて問題ありませんが、IE9 で実行すると、多くのマーカーで非常に遅くなります。アプリで IE9 を自動化しているため、IE9 である必要があります)。これは、IE9 が SVG で非常に遅く動作するためです。そのため、SVG で生成された円の代わりにアイコンを使用するという別のアプローチを試みています。そのためには、JS を使用してオンザフライで生成し (私のプロジェクトにはサーバー コードはありません)、円をディスクに保存してマーカーに割り当てる必要があります。

JS のみを使用して、円を透明な PNG として生成して保存するにはどうすればよいですか?

4

0 に答える 0