マップを表示するには、コードを変更する必要があります。使用しています
<script type="text/javascript" src="http://apis.mapmyindia.com/v2.0/mapApi/licKey=4d29cecd1c6f9f97247b82e18b637093&platform=aspx"></script>
上の行を次のように変更
<script src="https://apis.mapmyindia.com/advancedmaps/v1/4d29cecd1c6f9f97247b82e18b637093/map_load?v=0.1">
MapMyIndia マップの初期化用。使用している
var map = $("#MapDiv");
map.MireoMap();
そのコードを次のように変更します
var map=new MapmyIndia.Map("MapDiv",{ center:[30.7333, 76.7794], zoomControl: true, hybrid:true, search:true, location:true});
MapmyIndia マップを取得できる上記の 1 行のコードは、コンテナー要素に表示されます。
次に、マーカー プロット コードに進みます。
var _X = '76.652826';
var _Y = '10.78716';
var pt = new Point(_X, _Y);
map.MireoMap("addMarker", HTMLHelper.mapMarker("https://d2t1xqejof9utc.cloudfront.net/screenshots/pics/81591c98d66921ed45c6fbab36601942/medium.png", 100, 100), pt);
MapmyIndia API は緯度経度を使用してマーカーをプロットできるため、マーカー プロット用のポイントを作成する必要はありません。
マーカー作成コードを次のように変更します
var _X = '76.652826';
var _Y = '10.78716';
var markerIcon = L.icon({
iconUrl: 'https://d2t1xqejof9utc.cloudfront.net/screenshots/pics/81591c98d66921ed45c6fbab36601942/medium.png',
iconSize: [100, 100], // size of the icon
iconAnchor: [50, 100] // point of the icon which will correspond to marker's location
});
new L.marker([_X,_Y], {icon: markerIcon}).addTo(map);
そして今、複数のマーカーを作成する方法に答えます。その方法は複数ありますが、
1)これは非常に単純で、マーカーを1つずつ作成し、次のようにマップに追加します
var _X = '76.652826';
var _Y = '10.78716';
var markerIcon = L.icon({
iconUrl: 'https://d2t1xqejof9utc.cloudfront.net/screenshots/pics/81591c98d66921ed45c6fbab36601942/medium.png',
iconSize: [100, 100],
iconAnchor: [50, 100]});
new L.marker([_X,_Y], {icon: markerIcon}).addTo(map);
_X = '76.602826';
_Y = '10.70716';
markerIcon = L.icon({
iconUrl: 'https://d2t1xqejof9utc.cloudfront.net/screenshots/pics/81591c98d66921ed45c6fbab36601942/medium.png',
iconSize: [100, 100],
iconAnchor: [50, 100]});
new L.marker([_X,_Y], {icon: markerIcon}).addTo(map);
2) または、for ループを実行して複数のマーカーを作成し、マップに追加することもできます
var markerLatLngs = [
[30.7333, 76.7794],
[30.7233, 76.7694],
[30.7133, 76.7594]
];
var markerIcon = L.icon({
iconUrl: 'https://d2t1xqejof9utc.cloudfront.net/screenshots/pics/81591c98d66921ed45c6fbab36601942/medium.png',
iconSize: [100, 100],
iconAnchor: [50, 100]});
for (var i = 0; i < markerLatLngs.length; i++) {
new L.marker([markerLatLngs[i][0], markerLatLngs[i][1]], {icon: markerIcon}).addTo(map);
}
3) 大量のマーカーがある場合、これは非常に重要です。レイヤー グループを作成し、すべてのマーカーをそのグループに追加し、そのグループをマップに追加します。
var markerLatLngs = [
[30.7333, 76.7794],
[30.7233, 76.7694],
[30.7133, 76.7594]
];
var markerIcon = L.icon({
iconUrl: 'https://d2t1xqejof9utc.cloudfront.net/screenshots/pics/81591c98d66921ed45c6fbab36601942/medium.png',
iconSize: [100, 100],
iconAnchor: [50, 100]});
var markerGroup = new L.featureGroup(); //Create a group for markers
for (var i = 0; i < markerLatLngs.length; i++) {
var marker= new L.marker([markerLatLngs[i][0], markerLatLngs[i][1]], {icon: markerIcon});
markerGroup.addLayer(marker); //add marker into group
}
markerGroup.addTo(map); // add Group of markers to map