Locations Plugin 🌍

@merefield 이 μš”κ΅¬μ‚¬ν•­μ— λŒ€ν•΄ μ–΄λ–»κ²Œ μƒκ°ν•˜μ‹œλ‚˜μš”?

1개의 μ’‹μ•„μš”

μŠ€ν…ŒνŒ, λ‹΅μž₯을 늦게 ν•΄μ„œ μ£„μ†‘ν•©λ‹ˆλ‹€. 더 ν˜„μ‹€μ μΈ κ³ λ € μ‚¬ν•­μ΄λ„€μš”, κ½€ 쒋은 μ•„μ΄λ””μ–΄μž…λ‹ˆλ‹€. μ‹œκ°„μ΄ μ’€ λ‚¨μœΌλ©΄ κ²€ν† ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€. λ‹€λ§Œ, λ‹Ήμž₯은 고객 업무λ₯Ό λ§‘κ³  μžˆμ–΄μ„œ 당뢄간은 μ–΄λ €μšΈ 것 κ°™μŠ΅λ‹ˆλ‹€. 자금이 있으면 κ΅¬ν˜„μ„ 더 빨리 ν•  수 있겠죠.

3개의 μ’‹μ•„μš”

κ±±μ • λ§ˆμ„Έμš”, 놓쳀을 μˆ˜λ„ μžˆκ² λ”λΌκ³ μš”. μ–΄λ”˜κ°€μ— κΈ°λŠ₯ μš”μ²­μ„ μ œμΆœν•΄μ•Ό ν• κΉŒμš”?

3개의 μ’‹μ•„μš”

λ„€, μ—¬κΈ° μžˆμŠ΅λ‹ˆλ‹€: Pavilion

3개의 μ’‹μ•„μš”

μ™„λ£Œ! :heavy_check_mark::blue_heart: @everyone 이 κΈ°λŠ₯ μš”μ²­μ„ μ§€μ§€ν•΄ μ£Όμ„Έμš”! :+1: :blush:

4개의 μ’‹μ•„μš”

쀑볡 ν˜ΈμΆœμ„ μ œκ±°ν•˜λŠ” μ€‘μš”ν•œ μ„±λŠ₯ μˆ˜μ • 사항을 λ°°ν¬ν–ˆμŠ΅λ‹ˆλ‹€:

λ”°λΌμ„œ μ‚¬μš©μž 지도(User Map)κ°€ 훨씬 더 λΉ λ₯΄κ²Œ λ°˜μ‘ν˜•μœΌλ‘œ λ™μž‘ν•  κ²ƒμž…λ‹ˆλ‹€.

P.S. ν™•μž₯μ„± 문제λ₯Ό 지적해 μ£Όμ‹œκ³  ν…ŒμŠ€νŠΈλ₯Ό 도와주신 @Richieλ‹˜κ»˜ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€.

500λͺ… μ΄μƒμ—μ„œλ„ 이 κΈ°λŠ₯이 μ •μƒμ μœΌλ‘œ μž‘λ™ν•  수 μžˆμŒμ„ 증λͺ…ν•˜λŠ” 그의 인상적인 μ‚¬μš©μž 지도λ₯Ό κ³΅μœ ν•©λ‹ˆλ‹€:

8개의 μ’‹μ•„μš”

ν”ŒλŸ¬κ·ΈμΈμ˜ 지속적인 κ°œλ°œμ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€ @merefield :slight_smile:

6개의 μ’‹μ•„μš”

μ§€λ„μ—μ„œ 마컀λ₯Ό ν΄λ¦­ν•˜λ©΄ λ¦¬λ””λ ‰μ…˜ μ‹œ λΈŒλΌμš°μ € μ½˜μ†”μ— 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€:

TypeError: "u is undefined"
    navigatedToPost _application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:9981
    routeTo _application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:9898
    routeTo _discourse-custom-wizard-05c36c40f360683b056c7ad300041bc66902371a17c22f1686fa56420a8af7c1.js:1655
    afterModel _application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:69656
    jQuery 12
    success _application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:8950
    jQuery 4
_application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:67085:12
    error _application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:67085
    jQuery 16
    success _application-2f2672bcf25571484a5186c75f87af2bb65928918a5bc5c9932f237dc0636348.js:8950
    jQuery 4
1개의 μ’‹μ•„μš”

ν˜„μž¬ 지원 기간은 μ§€λ‚¬μ§€λ§Œ, λ‹€μŒ μ—…λ°μ΄νŠΈμ—μ„œλŠ” 확인해 λ³΄κ² μŠ΅λ‹ˆλ‹€.

μ–΄λ–€ 맡을 λ§μ”€ν•˜μ‹œλŠ” κ±΄κ°€μš”? 졜근 λΉŒλ“œμ—μ„œ μ‚¬μš©μž(User) 맡을 ν…ŒμŠ€νŠΈν•΄ λ΄€λŠ”λ° μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜λ„€μš”.

2개의 μ’‹μ•„μš”

이것은 μœ„μΉ˜ 정보가 μžˆλŠ” μ£Όμ œμž…λ‹ˆλ‹€.

2개의 μ’‹μ•„μš”

μƒˆλ‘œμš΄ κΈ°λŠ₯ μΆœμ‹œ! :tada:

ꡭ가별 μ œν•œ 검색

κΈ°λ³Έ κ΅­κ°€λ‘œ 검색을 μ œν•œν•  수 μžˆλŠ” κΈ°λŠ₯을 μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€. 기본값은 κΊΌμ Έ μžˆμŠ΅λ‹ˆλ‹€.

κΈ°μ‘΄ κ΄€λ ¨ μ„€μ • μ˜†μ— μƒˆλ‘œ μΆ”κ°€λœ 섀정은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

이 κΈ°λŠ₯은 예λ₯Ό λ“€μ–΄, μ‚¬μš©μžμ˜ μ‚¬μ΄νŠΈ λ²”μœ„κ°€ νŠΉμ • ꡭ가에 ν•œμ •λ˜μ–΄ 있고 ν•΄λ‹Ή κ΅­κ°€μ˜ μ£Όμ†Œλ§Œ ν•„μš”ν•  경우, 더 이상 μ΄μƒν•œ κ΅­κ°€μ˜ μ£Όμ†Œκ°€ 검색 결과에 ν‘œμ‹œλ˜μ§€ μ•Šλ„λ‘ ν•©λ‹ˆλ‹€.

이 κΈ°λŠ₯을 μ œμ•ˆν•˜κ³  후원해 μ£Όμ‹  @Richieλ‹˜κ»˜ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€, Rich!

(참고둜 이 κΈ°λŠ₯은 이미 μ˜€λž˜μ „μ— 쑰용히 μΆœμ‹œλ˜μ—ˆμœΌλ‚˜ ν™λ³΄λŠ” ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€)

6개의 μ’‹μ•„μš”

정말 이 κΈ°λŠ₯이 λ§ˆμŒμ— λ“€μ–΄μš”! κ°μ‚¬ν•©λ‹ˆλ‹€! :slightly_smiling_face:

ν•œ κ°€μ§€ 이해가 μ•ˆ λ˜λŠ” 뢀뢄이 있고, κ΄€λ ¨ λ¬Έμ„œλ„ μ°Ύμ§€ λͺ»ν–ˆμ–΄μš”. λ°”λ‘œ location_user_profile_formatμž…λ‹ˆλ‹€.

μ €λŠ” location iqλ₯Ό μ‚¬μš©ν•˜λŠ”λ°, μ£Όμ†Œκ°€ λ„ˆλ¬΄ 길게 μƒμ„±λ˜κ±°λ“ μš” (거리 + λ„μ‹œ + μΉ΄μš΄ν‹° + μ£Ό + κ΅­κ°€ + 우편번호). μ£Όμ†Œ ν˜•μ‹μ„ μ‚¬μš©ν•˜λ©΄ 이 λ§€κ°œλ³€μˆ˜λ“€μ„ μ œν•œν•  수 μžˆλŠ” κ±΄κ°€μš”? λ§žλ‚˜μš”?

즉, 우편번호 + λ„μ‹œ + 거리만 ν‘œμ‹œν•˜κ³  μ‹Άλ‹€λ©΄ 이 μ„€μ •μœΌλ‘œ ν•  수 μžˆλŠ” κ±΄κ°€μš”?

(address: number) λ§€κ°œλ³€μˆ˜λ₯Ό μ‚¬μš©ν•΄ λ΄€λŠ”λ° μ œκ²ŒλŠ” μž‘λ™ν•˜μ§€ μ•Šμ•„μš”. λ­”κ°€ λ†“μΉ˜κ³  μžˆλŠ” 것 κ°™μ•„μš” :confused: κΈ°λŠ₯ μžμ²΄λŠ” 잘 μž‘λ™ν•˜μ§€λ§Œ μ£Όμ†Œμ— λΆˆν•„μš”ν•œ 정보가 λ„ˆλ¬΄ λ§Žκ±°λ“ μš”.

μ‹œκ°„ λ‚˜μ‹€ λ•Œ 이 μ„€μ • 방법을 μ„€λͺ…ν•΄ μ£Όμ‹œλ©΄ 정말 κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€! :blush: κ°μ‚¬ν•©λ‹ˆλ‹€!

2개의 μ’‹μ•„μš”

μ•ˆλ…•ν•˜μ„Έμš”!
이 λ†€λΌμš΄ ν”ŒλŸ¬κ·ΈμΈμ„ μ‚¬μš©ν•΄λ³΄κ³  μžˆμŠ΅λ‹ˆλ‹€. 맀우 νƒ„νƒ„ν•œ μž‘ν’ˆμΈ 것 κ°™μ•„μš”!

제 μ‚¬μš© λͺ©μ μ€ 거래 μΉ΄ν…Œκ³ λ¦¬μ— 거래 μœ„μΉ˜λ₯Ό ν‘œμ‹œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

λͺ‡ κ°€μ§€ 질문이 μžˆμŠ΅λ‹ˆλ‹€:

  1. μœ„μΉ˜ μ‚¬μš©μž 아바타 μ˜΅μ…˜μ„ ν™•μΈν–ˆλŠ”λ°, 지도에 제 아바타가 ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ†“μΉ˜κ³  μžˆλŠ” 것이 μžˆμ„κΉŒμš”?

  2. μœ„μΉ˜ 지도 마컀 μΉ΄ν…Œκ³ λ¦¬ 색상: μ•„μ΄μ½˜ λͺ¨μ–‘을 λ³€κ²½ν•  수 μžˆμ„κΉŒμš”? 색상 μžˆλŠ” 마컀λ₯Ό μ„ νƒν•˜λ©΄ 제 μ·¨ν–₯μ—λŠ” μ’€ λ„ˆλ¬΄ λ‘₯κ·Ό 것 κ°™κ³ , κΈ°λ³Έ λͺ¨μ–‘이 더 μ’‹μŠ΅λ‹ˆλ‹€.
    image image

  3. μœ„μΉ˜ μ‚¬μš©μž ν”„λ‘œν•„ ν˜•μ‹: 지리 정보(geolocation) 속성 λͺ©λ‘μ„ μ–΄λ””μ„œ 찾을 수 μžˆμ„κΉŒμš”? "address"λ₯Ό μ„€μ •ν•΄ λ³΄μ•˜μ§€λ§Œ, μ‚¬μš©μž μ„€μ •μ˜ μœ„μΉ˜ ν•„λ“œλŠ” μ—¬μ „νžˆ 일반 ν…μŠ€νŠΈλ‘œ 남아 μžˆμ—ˆκ³ , μœ„μΉ˜ 선택기가 μ—†μ—ˆμŠ΅λ‹ˆλ‹€. :thinking:

  4. 주제 λͺ©λ‘μ—μ„œ 주제 이름 μ•„λž˜μ— μœ„μΉ˜λ₯Ό ν‘œμ‹œν•  수 μžˆμ„κΉŒμš”? 그러면 μ‚¬μš©μžκ°€ ν•œλˆˆμ— 판맀 μœ„μΉ˜λ₯Ό λ³Ό 수 μžˆμ„ 텐데, ꡭ제적인 ν¬λŸΌμ΄λ―€λ‘œ κ½€ μ€‘μš”ν•©λ‹ˆλ‹€.

  5. 마컀λ₯Ό ν΄λ¦­ν•˜λ©΄ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€:

    μ½˜μ†” 좜λ ₯은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

   _application-0839e21515af10c83cf59df7b5c45c2f8db9404f82c4186084346bb0a0a9b425.js:63408 
   TypeError: Cannot read property 'refresh' of undefined
   
   _ember_jquery-d0ba1603b80181031290e4bd850857d41d63bc4a081d7b4bf16d4e1a4e355a22.js:36991 Error while 
   processing route: topicBySlugOrId Cannot read property 'refresh' of undefined TypeError: Cannot read 
   property 'refresh' of undefined

   _ember_jquery- 
   d0ba1603b80181031290e4bd850857d41d63bc4a081d7b4bf16d4e1a4e355a22.js:38545 Uncaught TypeError: Cannot read property 'refresh' of undefined

μ»€μŠ€ν…€ ν…Œλ§ˆ μ»΄ν¬λ„ŒνŠΈλŠ” μ—†κ³ , ν”ŒλŸ¬κ·ΈμΈμ€ procourse installer, data explorer, discourse locations만 μ‚¬μš© μ€‘μž…λ‹ˆλ‹€.

μˆ˜μ •:
4번 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€:

λ‹€μŒ μ½”λ“œλ₯Ό template list/topic-liste-item.raw ν…œν”Œλ¦Ώμ— μΆ”κ°€ν•΄μ„œ ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€:

    {{~#if topic.location}}
      <div class="title-location">
        {{d-icon 'map-marker-alt'}} {{location-format topic.location opts}}{{location-label-container}}
      </div>
    {{~/if}}
4개의 μ’‹μ•„μš”

μ—¬κΈ°μ„œλ„ 같은 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€:

html μ½”λ“œ:

<h3 class="location-and-website">
              <div class="user-profile-location"><svg class="fa d-icon d-icon-map-marker-alt svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#map-marker-alt"></use></svg> France</div>
                <div class="user-profile-website">
                  <svg class="fa d-icon d-icon-globe svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#globe"></use></svg>
                    <a href="http://canapin.dev" rel="noopener " target="_blank">canapin.dev</a>
                </div>
              <span id="ember29" class="ember-view">  <div id="ember31" class="user-location-and-website-outlet replace-location ember-view"><!----><div class="user-profile-website">
  <svg class="fa d-icon d-icon-globe svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#globe"></use></svg>
    <span title="http://canapin.dev">canapin.dev</span>
</div>
</div>
</span>
            </h3>
2개의 μ’‹μ•„μš”

이 λ¬Έμ œλŠ” μœ„μΉ˜μ™€ μ›Ήμ‚¬μ΄νŠΈκ°€ λ™μΌν•œ ν΄λž˜μŠ€μ— ν¬ν•¨λ˜μ–΄ 있기 λ•Œλ¬Έμ΄λΌκ³  μƒκ°ν•©λ‹ˆλ‹€. μ‚¬μš©μžμ˜ μœ„μΉ˜ 지도 κΈ°λŠ₯을 μ‚¬μš©ν•˜λ„λ‘ λ³€κ²½ν•œ ν›„ λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

1개의 μ’‹μ•„μš”

μŠ€λ ˆλ“œ 상단에 μžˆλŠ” β€˜μ§€λ„ 보기’ λ²„νŠΌ λŒ€μ‹ , 지도가 λ°˜μ‘ν˜•μœΌλ‘œ λ™μž‘ν•˜λ©΄μ„œ μŠ€λ ˆλ“œ μ½˜ν…μΈ μ˜ λ²”μœ„ λ‚΄μ—μ„œ 이미 μ΅œλŒ€ν™”λœ μƒνƒœλ‘œ ν‘œμ‹œλ˜λŠ” 방식을 μ„ ν˜Έν•©λ‹ˆλ‹€. 이와 μœ μ‚¬ν•œ λ°©μ•ˆμ΄ κ²€ν† λœ 적이 μžˆλ‚˜μš”?

1개의 μ’‹μ•„μš”

응닡이 λŠ¦μ–΄μ„œ μ£„μ†‘ν•©λ‹ˆλ‹€, @Canapin.

이것은 μ‚¬μš©μž 지도(User Map)μ—λ§Œ μ μš©λ˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

λͺ¨μ–‘을 μ •μ˜ν•˜λŠ” λ‘œμ§μ€ 여기에 μžˆμŠ΅λ‹ˆλ‹€: discourse-locations/assets/javascripts/discourse/lib/map-utilities.js.es6 at b76f5c42401db9d30be3499408f913493f1cdcb7 Β· merefield/discourse-locations Β· GitHub.

이λ₯Ό μ‚¬μš©μž μ§€μ •ν•  수 μžˆλ„λ‘ ν•˜λŠ” 것이 쒋은 κΈ°λŠ₯ κ°•ν™”κ°€ 될 것 κ°™μŠ΅λ‹ˆλ‹€. PR을 ν™˜μ˜ν•©λ‹ˆλ‹€.

λ¨Όμ € 이것을 μΌœμ„Έμš”:

image

그러면 μ‚¬μš©μž ν”„λ‘œν•„(User Profile)에 μƒˆλ‘œμš΄ 섀정이 λ‚˜νƒ€λ‚  κ²ƒμž…λ‹ˆλ‹€:

이 λ‹¨κ³„μ—μ„œλŠ” 더 λ³΅μž‘ν•œ 섀정에 λŒ€ν•΄ κ±±μ •ν•˜μ§€ μ•Šμ•„λ„ λ©λ‹ˆλ‹€. μ‚¬μš©μžλŠ” λ‹¨μˆœνžˆ μž…λ ₯을 μ‹œμž‘ν•˜κ³  μ μ ˆν•œ 검색 κ²°κ³Όλ₯Ό μ„ νƒν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€.

해결책을 μ°Ύμ•„μ„œ μž˜ν•˜μ…¨μŠ΅λ‹ˆλ‹€ :slight_smile:

이전에 보고된 적이 μžˆμŠ΅λ‹ˆλ‹€. κ³§ 확인해 λ³΄κ² μŠ΅λ‹ˆλ‹€.

2개의 μ’‹μ•„μš”

이걸 λͺ©μ—…μœΌλ‘œ λ§Œλ“€μ–΄ μ£Όμ‹œκ² μ–΄μš”? μ •ν™•νžˆ μ–΄λ–€ μ˜λ―ΈμΈμ§€ 잘 λͺ¨λ₯΄κ² μ–΄μ„œμš”.

1개의 μ’‹μ•„μš”

  • 지도 ν¬κΈ°λŠ” μŠ€λ ˆλ“œ μ½˜ν…μΈ  λ ˆμ΄μ•„μ›ƒ λ‚΄μ—μ„œ λ°˜μ‘ν˜•μœΌλ‘œ μ‘°μ •λ˜λ©°, μ„ νƒμ μœΌλ‘œ 높이 μ œν•œμ„ λ‘˜ 수 있음
  • μ£Όμ†Œ ν…μŠ€νŠΈ μ•„λž˜, μŠ€λ ˆλ“œ μ½˜ν…μΈ  μœ„μ— μœ„μΉ˜
  • β€˜μ§€λ„ 보기’ λ²„νŠΌ λΆˆν•„μš”
2개의 μ’‹μ•„μš”

쒋은 μ•„μ΄λ””μ–΄λ„€μš”. 기본적으둜 μ ‘νžŒ μƒνƒœλ‘œ ν‘œμ‹œλ˜λŠ” μ˜΅μ…˜μ΄ μžˆλ‹€λ©΄ μ’‹κ² μŠ΅λ‹ˆλ‹€. PR ν™˜μ˜ν•©λ‹ˆλ‹€.

2개의 μ’‹μ•„μš”