ใช้สไตล์แผนที่ Google แบบกำหนดเองใน OpenLayers2 หรือไม่


10

เมื่อเร็ว ๆ นี้ฉันพบบทความที่น่าสนใจนี้ซึ่งแสดงถึงศักยภาพในการเพิ่มสไตล์ที่กำหนดเองลงใน Google แผนที่ ตัวอย่างบางส่วนของแผนที่สไตล์สามารถมองเห็นได้ที่นี่และคุณสามารถออกแบบของคุณเองตั้งแต่เริ่มต้นที่นี่

ฉันต้องการใช้ชุดรูปแบบ 'greyscale' กับแผนที่พื้นฐานของ OpenLayers ของฉัน: ป้อนคำอธิบายรูปภาพที่นี่

คำอธิบายลักษณะตามตัวอย่างของ Google จะมีลักษณะดังนี้:

var styles = {
  'Greyscale': [
    {              
      featureType: 'all',
      rules: [
        {saturation: -100},
        {gamma: 0.50}
      ]
    }
  ]
}

แผนที่ Google ของฉันใน OpenLayers ในปัจจุบันดูเหมือนว่า:

var gmap = new OpenLayers.Layer.Google("Google Streets",
    {
    'numZoomLevels': 20,
    'sphericalMercator': true}
);

ฉันจะนำธีม greyscale ไปใช้กับแผนที่ได้อย่างไร


Google Maps Colorizr googlemapscolorizr.stadtwerk.orgมีประโยชน์หากคุณต้องการกำหนดสีเฉพาะของคุณเอง
radek

ที่เกี่ยวข้อง: stackoverflow.com/questions/4003578/google-maps-in-grayscale
radek

ตัวอย่างของการเล่นกับสี: 41latitude.com/post/1268734799/google-styled-maps
radek

ไม่ต้องการปล่อยเงินรางวัลหรือ? :) ฉันคิดว่า simo ได้มาแล้ว
Ragi Yaser Burhum

จริง ยังคงเป็นสามวันของการแข่งขัน tho;]
radek

คำตอบ:


20

ดูเหมือนว่าคุณโดยตรงสามารถเข้าถึงวัตถุ GoogleMap โดยใช้layer.mapObject

อ้างอิง gmap API เพื่อกำหนดเลเยอร์: https://developers.google.com/maps/documentation/javascript/styling

นี่เป็นหน้าตัวอย่างเล็ก ๆ ที่ฉันสร้างขึ้น: http://www.intermezzo-coop.eu/mapping/styled_gmap.html

ดูตัวช่วยสร้าง googlemap: https://mapstyle.withgoogle.com/


คุณประสบความสำเร็จรึเปล่า Radek?
simo

@simo: ฉันไม่แน่ใจว่าวิธีการใช้ 'layer.mapObject' อย่างไร
radek

1
@radek; คุณจะต้องสร้าง JS ของคุณเองเพื่อกำหนดสไตล์ของแผนที่ มีตัวอย่างที่ดีมากมายในลิงค์ที่สองที่จะแสดงให้คุณเห็นการไหลที่ดีมาก
DEWright

1
@radek: ฉันยังไม่ได้ทดสอบ แต่ฉันเดาว่าคุณสร้างเลเยอร์ gmap ของคุณเพื่อvar glayer = OpenLayers.Layer.Google (ตัวเลือก)ใหม่จากนั้นสร้างสไตล์ของคุณโดยใช้ไวยากรณ์ Gmap และในที่สุดก็นำไปใช้กับglayer.mapObject.mapTypes .set ('hiphop', jayzMapType); ดูตัวอย่างที่ได้รับด้านบน ถ้าผมมีเวลาเร็ว ๆ นี้ผมจะพยายามที่จะทำมันและแจ้งให้คุณทราบ
simo

4
@radek: ที่นี่เราไปempreinte-urbaine.eu/mapping/styled_gmap.html
simo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.